【问题标题】:301 redirect get pagination301重定向获取分页
【发布时间】:2013-07-01 11:00:57
【问题描述】:

我正在尝试将分页博客列表从旧网站 301 重定向到新网址。

我认为我已经非常接近 RewriteRule,但我还没有完全做到,这就是我所拥有的:

RewriteCond %{QUERY_STRING} ^page=
RewriteRule ^(blog)?$ http://www.newdomain.com/news/page/$1? [R=301,L]

如果我去使用这个规则

http://www.olddomain.com/blog?page=1

我目前被重定向到

http://www.newdomain.com/news/page/blog

我想被送到

http://www.newdomain.com/news/page/1

我确定它只是我缺少的一些小而简单的东西。

编辑

扩展下面的解决方案,我使用 $1 为重写规则添加了标签/类别支持。

RewriteCond %{QUERY_STRING} ^page=([^&]+) [NC]
RewriteRule ^blog/tag/([^/\.]+)?$ http://www.newdomain.com/news/tag/$1/page/%1? [R=301,L,NC]

【问题讨论】:

    标签: .htaccess mod-rewrite rewrite http-status-code-301


    【解决方案1】:

    您的代码中很少有小错误。

    1. 您需要先从查询字符串中获取页面参数的值
    2. 然后使用% 而不是$1 使用该捕获值
    3. 无需捕获blog,因为您不需要它。

    更改您的代码:

    RewriteCond %{QUERY_STRING} ^page=([^&]+) [NC]
    RewriteRule ^blog/?$ http://www.newdomain.com/news/page/%1? [R=301,L,NC]
    

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2017-03-06
      • 2021-04-19
      • 2010-11-28
      相关资源
      最近更新 更多