我正在更换现有网站,因此域名不会发生变化。我确实想使用301重定向,以便机器人和搜索引擎能够识别新页面。我尝试过以下但是没有用。
原始网址: http://example.com/index.php?SiteAction=Directions
RewriteEngine On
RewriteBase /
#301 redirects using RewriteRule
RewriteRule ^index.php?SiteAction=Directions$ http://example.com/map/ [R=301,L]
index.php之后的问号似乎完全破坏了我的网站,所以我也尝试过这样写,但是没有任何反应:
RewriteRule ^index.php(.)SiteAction=Directions$ http://example.com/map/ [R=301,L]
我正在使用Dreamhost PS,如果这有任何区别的话。
答案 0 :(得分:0)
您无法在RewriteRule
中匹配QUERY_STRING,您需要RewriteCond %{QUERY_STRING}
。
请改用此规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^SiteAction=Directions$ [NC]
#301 redirects using RewriteRule
RewriteRule ^index\.php$ http://example.com/map/? [R=301,L,NC]