3

我已将旧的 eZ-Publish 网站升级到最新的 PHP5 兼容 4.6 版本(以前在 PHP4 上)。该站点在我的本地网络服务器上运行,但是当我尝试将其上传到服务器时,它失败并在 Apache 的 error.log 中显示以下消息:

[Mon Apr 16 14:33:22 2012] [error] [client 46.249.225.2] Request exceeded the limit of 20 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

我已将其缩小到重写规则中的一个问题,这很奇怪,因为我使用与其他 4.6 安装相同的重写规则。这是 Apache 主机文件中的重写规则:

RewriteEngine On
Rewriterule ^/var/storage/.* - [L]
Rewriterule ^/var/[^/]+/storage/.* - [L]
#RewriteRule ^/var/cache/texttoimage/.* - [L]
#RewriteRule ^/var/[^/]+/cache/texttoimage/.* - [L]
RewriteRule ^/var/([^/]+/)?cache/(texttoimage|public)/.* - [L]
Rewriterule ^/design/[^/]+/(stylesheets|images|javascript)/.* - [L]
Rewriterule ^/share/icons/.* - [L]
RewriteRule ^/extension/[^/]+/design/[^/]+/(stylesheets|images|javascripts?|lib|flash)/.* - [L]
Rewriterule ^/packages/styles/.+/(stylesheets|images|javascript)/[^/]+/.* - [L]
RewriteRule ^/packages/styles/.+/thumbnail/.* - [L]
RewriteRule ^/favicon.ico - [L]
RewriteRule ^/robots.txt - [L]
RewriteRule ^/extension/sjsd/(FCKeditor|fcksjsd)/.* - [L]
RewriteRule ^/var/([^/]+/)?cache/public/.* - [L]
RewriteRule ^/extension/[^/]+/design/[^/]+/calendar/.* - [L]
RewriteRule ^/extension/[^/]+/design/[^/]+/calendar/ipopeng.htm - [L]
RewriteRule ^/extension/[^/]+/design/[^/]+/fckskins/.* - [L]
# Uncomment the following lines when using popup style debug.
# RewriteRule ^/var/cache/debug.html.* - [L]
# RewriteRule ^/var/[^/]+/cache/debug.html.* - [L]
RewriteRule .* /index.php

有没有人发现任何问题?

4

1 回答 1

3

假设您的 .htaccess 文件位于根目录中,您的最后一条规则会创建一个内部重定向,该重定向会使用/index.php需要重写的 URL 重新启动重写过程。最后一条规则重写/index.php/index.php并且循环继续。尝试在规则之前在 .htaccess 文件中添加这一行.*

RewriteRule ^/index\.php$ - [L]
于 2012-04-17T07:07:25.217 回答