【问题标题】:redirect old site with query to new domain with query将带有查询的旧站点重定向到带有查询的新域
【发布时间】:2014-01-06 03:41:05
【问题描述】:

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

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

我找到了一种手动重定向每个 url 的方法,但我认为有一种更简单的方法可以使用单个规则来完成此操作。

谁能指出我正确的方向?

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite redirect


    【解决方案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]
    

    【讨论】:

    • 漂亮的代码!非常感谢阿努巴瓦!这正是我所需要的。我放弃了第一个 RewriteCond,这很完美(只需要获取那个查询参数,这样我就可以使用它了,哈哈)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2013-02-21
    • 2012-04-25
    • 2023-02-23
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多