0

我有一个奇怪的301 Redirect问题。

我正在使用以下规则

Redirect 301   /catalog/index.php?target=news /news 

奇怪的是,当我访问/catalog/index.php?target=news

我被重定向到:/catalog/?target=news

4

1 回答 1

0

查询字符串不是Redirect模式匹配的 URI 的一部分。它已被删除,因此您无法在语句中尝试匹配它。您需要使用 mod_rewrite 和与%{QUERY_STRING}变量匹配的条件:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^target=news$
RewriteRule ^/?catalog/(index\.php)?$ /news? [L,R=301]

这些规则应该放在文档根目录的 htaccess 文件中。

于 2013-03-01T21:16:38.280 回答