我有一个有可选参数的网址。网址为http://example.com/piercing/parameter/value
,但网址也可以被视为http://example.com/piercing
。我已使用以下内容在mod_rewrite
中设置了可选参数:
RewriteRule ^piercing/([^/]*)$ piercing.php
RewriteRule ^piercing/location/([^/]*)$ piercing.php?location=$1
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule ^ - [L]
我遇到的问题是我在mod_rewrite
设置了重定向,将用户从特定页面重定向到特定日期,piercing.php
页面就是其中之一。自从我为可选参数添加重写规则以来,重定向不再适用于该页面,但它适用于所有其他页面。
在重定向内部,我列出了我不希望通过从规则中排除它们而重定向的页面。这是重定向规则:
<IfModule mod_rewrite.c>
RewriteCond %{TIME} <20171201000000
# DESKTOP
#RewriteCond %{REMOTE_ADDR} !^00\.000\.00\.00
# PHONE
#RewriteCond %{REMOTE_ADDR} !^000\.000\.0\.00
RewriteCond %{REQUEST_FILENAME} !(styles|images|javascript).+$
RewriteCond %{REQUEST_URI} !aftercare.php$ [NC]
RewriteCond %{REQUEST_URI} !faq.php$ [NC]
RewriteCond %{QUERY_STRING} !redirect=(?:construction|404)$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|ttf|woff|js) [NC]
RewriteRule .* index.php?redirect=construction [R=302,L]
</IfModule>
什么会阻止该网页重定向,因为我没有设置RewriteCond %{REQUEST_URI} !piercing.php$ [NC]
规则?
答案 0 :(得分:0)
RewriteCond %{REQUEST_FILENAME} !-d
添加此条件。