これが私の.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
ます。 - リファラーが等しい場合は、このリダイレクトをオーバーライドします
http://shop.com/index.php?controller=authentication&back=my-account
例外を作成することになっている3番目のRewriteCondは、リファラーindex.php
がに等しい場合の要求と一致しないようhttp://shop.com/index.php?controller=authentication&back=my-account
です。その結果、RewriteRuleが考慮されますが、考慮されるべきではありません。
%{HTTP_REFERER}
この動作により、URLにパラメータが含まれていないように思われます(この場合は:) id_category=12&controller=category
。