这是我的 .htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP_REFERER} !^http://shop.com/index.php?controller=authentication&back=my-account [NC]
RewriteRule (.*) http://shop.com/index.php?id_category=12&controller=category [R=301,L]
我想 :
- 我
index.php
被重定向到index.php?id_category=12&controller=category
. - 如果Referer等于
http://shop.com/index.php?controller=authentication&back=my-account
index.php
似乎应该创建异常的第三个 RewriteCond与Referer等于时的请求不匹配http://shop.com/index.php?controller=authentication&back=my-account
。因此,RewriteRule 被考虑在内,而它不应该被考虑在内。
这种行为让我认为%{HTTP_REFERER}
URL 中不包含参数(在本例中为:)id_category=12&controller=category
。