Htaccess重定向规则不起作用

时间:2012-05-16 08:50:16

标签: apache .htaccess mod-rewrite

我们已经生效了这个重写规则,但是我们在博客“下一页”链接无法正常工作时遇到问题。这是一个无效的示例网址:http://www.mydomain.com/blog/page/2/它被重定向到http://www.mydomain.com/page/2/(显示网站主页)。

以下是现行规则:

RewriteCond %{REQUEST_URI} /blog/$ [NC]   
RewriteRule (.*) %1 [L]   
RewriteCond %{REQUEST_URI} !^blog/$ [NC]   
RewriteRule ^blog/(.*)$ http://www.mydomain.com/$1 [R=301,L]

我们之前的博客文章位于/ blog /文件夹下,但新网站现在已在根级别呈现博客帖子(http://www.mydomain.com/category/some-blog-post/ )。因此,此规则将旧的索引博客帖子重定向到新的URL结构。

有什么建议吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

IIRC您要将www.mydomain.com/blog/<anything>重定向到www.mydomain.com/<anything>

如果这是正确的,那么唯一应该是:

RewriteRule ^blog/(.*) /$1 [R=301,L]

修改

好的,在评论的精确度之后:

RewriteCond %{REQUEST_URI} ! ^/blog/page.*
RewriteRule ^blog/([^/]+)/(.*) /$1/$2 [R=301,L]