我有一个奇怪的301 Redirect
问题。
我正在使用以下规则
Redirect 301 /catalog/index.php?target=news /news
奇怪的是,当我访问/catalog/index.php?target=news
我被重定向到:/catalog/?target=news
答案 0 :(得分:0)
查询字符串不是Redirect
模式匹配的URI的一部分。它已删除,因此您无法在语句中尝试匹配它。您需要使用mod_rewrite和与%{QUERY_STRING}
变量匹配的条件:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^target=news$
RewriteRule ^/?catalog/(index\.php)?$ /news? [L,R=301]
这些规则应该放在文档根目录中的htaccess文件中。