我希望将旧的PHP页面重写到新的位置,但是之前的系统使用的URL结构如下:
/old-page.php?page=Our%20Services
我尝试了以下内容:
Redirect 301 /old-page.php?page=Our%20Services http://www.newdomain.co.uk/our-services/
有人可以帮我解释为什么重写规则会忽略问号之后的所有内容吗?
答案 0 :(得分:0)
您只能将Redirect
用于简单案例。如果要检查查询字符串,则必须使用mod_rewrite和RewriteCond
RewriteEngine on
RewriteCond %{QUERY_STRING} page=Our%20Services
RewriteRule ^old-page.php$ http://www.newdomain.co.uk/our-services/ [R,L]
如果查询字符串包含page=Our%20Services
且URL路径为old-page.php
,则检查此项。然后,它会将客户端重定向到新的URL http://www.newdomain.co.uk/our-services/
。