将所有URL从文件夹重定向到root,但保持文件夹不变

时间:2014-04-10 20:01:21

标签: regex apache .htaccess mod-rewrite

我有一个网站,想要永久更改网址结构:

www.mysite.com/blog/post-name/

www.mysite.com/post-name/

我找到了解决方案:

RewriteRule ^blog/(.*)$ http://www.mysite.com/$1 [R=301,L]/

唯一的问题是我希望能够将www.mysite.com/blog/作为页面保留,而不会将其重定向到www.mysite.com/

无法想出这个。

非常感谢,

2 个答案:

答案 0 :(得分:1)

你的规则如下:

RewriteEngine On

RewriteCond %{THE_REQUEST} /blog [NC]
RewriteRule ^blog(/.*)?$ $1 [L,R=301,NC,NE]

RewriteRule ^((?!blog/).*)$ /blog/$1 [L,NC]

答案 1 :(得分:0)

从重写规则中删除R=301应该可以解决这个问题。 规则是:

RewriteRule ^blog/(.*)$ http://www.mysite.com/$1 [L]