我希望将旧的 PHP 页面重写到新的位置,但是以前的系统使用的 URL 结构如下:
/old-page.php?page=Our%20Services
我尝试了以下方法:
Redirect 301 /old-page.php?page=Our%20Services http://www.newdomain.co.uk/our-services/
有人可以帮我解释一下为什么重写规则会忽略问号后的所有内容吗?
我希望将旧的 PHP 页面重写到新的位置,但是以前的系统使用的 URL 结构如下:
/old-page.php?page=Our%20Services
我尝试了以下方法:
Redirect 301 /old-page.php?page=Our%20Services http://www.newdomain.co.uk/our-services/
有人可以帮我解释一下为什么重写规则会忽略问号后的所有内容吗?
您只能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/
。