【问题标题】:Mod_ReWrite doesn't work on cakephpMod_ReWrite 不适用于 cakephp
【发布时间】:2013-11-20 22:46:37
【问题描述】:

我最近部署了 CakePHP,但是 mod_Rewrite 目前不工作:

我的 apache2.conf 中有以下内容

<Directory "/path/to/the/app">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

我跑了

sudo a2enmod rewrite

这表明该模块已启用,我还检查了具有

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

有没有人对 mod_rewrite 为什么不起作用有任何其他想法?

请注意,我已经重新启动了 apache,但没有成功

【问题讨论】:

  • 什么不起作用?你有错误吗?你检查过你的日志吗?您的 webroot 目录中是否有 htaccess 文件?
  • 是的,.htaccess 文件位于文件夹 /var/www/site/App 中,这与 apache2.conf 中的设置相同,除了默认的 cakephp 页面指出“URL 重写您的服务器上没有正确配置。”
  • 您的/var/www/site/App 目录中有webroot 目录吗?
  • @JonLin 是的,那里有一个 webroot,查看了 apache 日志中的 error.log,没有任何错误
  • 尝试将这一行 RewriteBase yourpath 添加到您的 .htaccess 中,其中 yourpath 是 /var/www 目录中的路径。

标签: apache .htaccess cakephp mod-rewrite


【解决方案1】:

这些位置必须有 3 个 .htaccess 文件

/.htaccess
/app/.htaccess
/app/webroot/.htaccess

你有吗?

【讨论】:

    【解决方案2】:

    原来 mod_rewrite 工作正常,但是我使用的是 cakephp 1.3,它没有检测 mod_rewrite 是否工作,而是应用了一个不应用于 div 的 CSS 样式。反正现在可以用了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 2013-11-09
      • 1970-01-01
      • 2011-07-04
      相关资源
      最近更新 更多