使用查询将带有查询的旧站点重定向到新域

时间:2014-01-06 03:41:06

标签: regex apache .htaccess mod-rewrite redirect

我正在寻找一个htaccess规则,将旧的域搜索结果页面重定向到新的域结果页面,只保留“查询”参数。

例如:从http://myoldwebsite.com/search?query=free+templates&type=post&submit=更改为http://mynewwebsite.com/?s=free+templates

我找到了一种手动重定向每个网址的方法,但我认为使用单一规则可以更轻松地完成此操作。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?myoldwebsite\.com$ [NC]
RewriteCond %{QUERY_STRING} (?:^|&)query=([^&]*)(?:&|$) [NC]
RewriteRule ^search/?$ http://mynewwebsite.com/?s=%1 [L,NE,R=301]