3

我正在尝试 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]
4

1 回答 1

3

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

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

更改您的代码:

RewriteCond %{QUERY_STRING} ^page=([^&]+) [NC]
RewriteRule ^blog/?$ http://www.newdomain.com/news/page/%1? [R=301,L,NC]
于 2013-07-03T16:30:38.423 回答