【问题标题】:CakePHP 2.3 mod_rewrite not workingCakePHP 2.3 mod_rewrite 不工作
【发布时间】:2013-03-06 09:50:16
【问题描述】:

我有一个问题,用 CakePHP 1.3 编写了一个 Webapp,它运行良好,所以我想使用较新的 cake 版本,然后在我的本地 Apache 上复制它(在旧的 Cake 运行正常之前,它可能具有正确的配置)它显示 mod_rewrite 不起作用的错误。所以我不明白,因为如果我比较两个蛋糕版本的 .htaccess 会有很多差异,所以我尝试将旧的 .htaccess 用于较新的蛋糕 2.3,但得到了错误 500。

所以我真的不明白这个问题,因为 Apache 肯定配置正确。

这是我的 .htaccess 文件(cake 2.3.1)包含的内容:

蛋糕/

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

蛋糕/应用程序/

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

蛋糕/app/webroot/

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

非常感谢您的帮助!

【问题讨论】:

  • 那是错误的htaccess文件,正确的是直接在/webroot中
  • 当然很抱歉,所以我添加了丢失的 .htaccess 文件
  • 你从哪里得到最后一个 webroot htaccess 文件?请查看核心文件(例如可通过 github 公开访问)并进行比较。那么你会发现你的确实是无效的。
  • 嗯,这似乎是正确的,不是吗? github.com/cakephp/cakephp/blob/2.3.1/app/webroot/.htaccess

标签: apache cakephp mod-rewrite


【解决方案1】:

我的 webroot htaccess 看起来像

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

在 2.x 中运行良好

但推荐的方式是

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

当你排队时。这应该适用于所有系统。

webroot htaccess

还要确保 mod_rewrite 不仅可用,而且允许通过 htaccess 启用。 您将需要虚拟主机/配置设置中的“AllowOverride All”之类的东西。 并非所有地方都是默认设置。

【讨论】:

  • 好吧,不管我选哪一个,它仍然说:“你的服务器上没有正确配置 URL 重写。”所以通常此时我认为问题出在 apache-conf 中,但我在服务器 (1.x) 上运行的所有其他蛋糕项目都按预期运行。
  • 我使用的是 PHP v. 5.3.8。所以默认安装了 PDO 和 phpinfo();告诉我 mod_rewrite 模块已加载,所以我不确定 cake-error 消息是否属实,有什么方法可以手动检查吗?
  • AllowOverride All 已经设置好了,实际上它似乎正在工作,只是错误消息被错误地显示了
猜你喜欢
  • 2014-06-03
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2012-11-22
  • 2010-10-31
相关资源
最近更新 更多