由于可能的配置错误,请求超出了 10 次内部重定向的限制

由于可能的配置错误,请求超出了 10 次内部重定向的限制

通过主页 ( example.com) 进入我的网站时,一切正常。但进入时example.com/forums出现 500 内部错误,并在 error_log 中看到以下内容:

由于可能的配置错误,请求超出了 10 次内部重定向的限制。

另外,我知道我可以发布输出httpd -S,但它真的很长,并且没有剧透块和格式也消失了,抱歉。

这是我的.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
 RewriteRule ^(data|js|styles|install) - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
 RewriteBase /var/www/html
</IfModule>

编辑:您需要虚拟主机吗?

<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>

答案1

这里的一个问题是,您的RewriteRule匹配每个请求,并将其重写为index.php。因此,对 的请求index.php也会被重写为index.php,如此反复。只是 Apache 在检测到十次连续重定向后会停止尝试。

您需要找出您到底想重写什么,然后为不循环回到自身的内容制定规则。

相关内容