不像以前那样,现在在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
是否应启用其他模块?
感谢。
答案 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]