Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个奇怪的301 Redirect问题。
301 Redirect
我正在使用以下规则
Redirect 301 /catalog/index.php?target=news /news
奇怪的是,当我访问/catalog/index.php?target=news
/catalog/index.php?target=news
我被重定向到:/catalog/?target=news
/catalog/?target=news
查询字符串不是Redirect模式匹配的 URI 的一部分。它已被删除,因此您无法在语句中尝试匹配它。您需要使用 mod_rewrite 和与%{QUERY_STRING}变量匹配的条件:
Redirect
%{QUERY_STRING}
RewriteEngine On RewriteCond %{QUERY_STRING} ^target=news$ RewriteRule ^/?catalog/(index\.php)?$ /news? [L,R=301]
这些规则应该放在文档根目录的 htaccess 文件中。