在我们的开发服务器上克隆 git repo 后,我在我的 Apache 日志中收到以下错误消息;



2x .htaccess 在下面复制;

Webroot .htaccess(位于 projectRoot/webroot/)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /apply/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

应用程序 .htaccess(位于 projectRoot/)
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /apply/
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

其他答案说将 RewriteBase 更改为 / ,但这对我来说不是一个选项,因为我需要它是 /apply/
其他一些答案指出 RewriteRule 是问题所在,但是删除这些并不能解决问题。

最佳答案

您需要排除要重写的目的地:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /apply/
    RewriteRule ^$ webroot/ [L]
    RewriteCond %{REQUEST_URI} !^/webroot/
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

否则你会得到一个重写循环错误,因为/webroot/也匹配模式 (.*)

关于php - 请求超出了 10 个内部重定向的限制 - .htaccess,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35457106/

10-13 02:33