htaccess - 此网页有一个重定向循环

时间:2013-12-27 09:53:14

标签: apache .htaccess mod-rewrite

不像以前那样,现在在htaccess中应用了一个简单的URL。

ErrorDocument 404 /404.php
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^Customer-cat(.+)/(.+)$ /Customer-cat.php?Mcat_id=$1&customCat=$2 [L]

现在我无法访问该页面并重定向到404页面(已损坏的页面)

This webpage has a redirect loop

当我删除Options + FollowSymlinks时,我收到此消息

Forbidden

You don't have permission to access / on this server.

我进入httpd.conf并发现mod重写是取消注释。

LoadModule rewrite_module modules/mod_rewrite.so

是否应启用其他模块?

感谢。

1 个答案:

答案 0 :(得分:0)

你需要遵循符号链接,否则mod_rewrite根本不起作用。您还应该删除Multiviews。您拥有的规则是循环,因为mod_rewrite将继续运行规则,直到URI停止更改,并且您的目标Customer-cat.php匹配相同规则的模式^Customer-cat(.+),因此它将继续应用。添加一些条件来防止这种情况:

ErrorDocument 404 /404.php
Options +FollowSymlinks -Multiviews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Customer-cat(.+)/(.+)$ /Customer-cat.php?Mcat_id=$1&customCat=$2 [L]