2013-07-03 45 views
2

我想301重定向从旧网站的分页博客列表到一个新的URL。301重定向得到分页

我认为我得到相当接近与重写规则,但我还没有应用,这是我有:

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] 

回答

2

一些小错误在你的代码。

  1. 您需要捕获从查询字符串第一
  2. 然后使用%代替$1
  3. 没有必要捕捉blog使用捕捉价值,因为你不需要它页参数的值。

与更改代码:

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

不客气,很高兴它的工作。 – anubhava