htaccess 使用查询字符串将条件旧站点重写为新站点

htaccess 使用查询字符串将条件旧站点重写为新站点

我甚至不会假装完全理解 htaccess 重写条件的工作原理。我已经研究这个问题一段时间了,一直在寻找。

我有一个旧的 Wordpress 网站www.old-site.com和一个新网站www.site.com。Wordpress 使用查询字符串page_id=#重定向到页面。

在旧网站上,page_id=2转到特定页面,但在新网站上,转到主页。

我需要old-site/?page_id=2site.com/our-company

这是我正在尝试的

RewriteCond   %{HTTP_HOST} ^(www\.)?old-site.com$ [NC]
RewriteCond   %{QUERY_STRING}   ^page_id=2$ 
RewriteRule   ^(.*)$ http://www.site.com/our-company/ [R=301,L]

如果我删除查询字符串的重写条件,它会将所有来自 old-site.com 的流量重定向到新网站上的公司页面。我哪里做错了?

我有大约 15 个重定向需要通过这种方式进行。

答案1

仅供参考,我回答了自己的问题

RewriteCond   %{HTTP_HOST} ^(www\.)?old-site.com$ [NC]
RewriteCond   %{QUERY_STRING}   ^page_id=2$ 
RewriteRule   ^(.*)$ http://www.site.com/our-company/? [R=301,L]

如果没有?新的 URL 之后,它会将查询字符串附加到其末尾,并?在那里结束该行

我会研究一下这个重写地图,谢谢

相关内容