htaccess URL重写规则,用于文件夹下的所有内容

时间:2012-03-27 17:31:51

标签: .htaccess mod-rewrite

我看了但找不到有效的东西。我有一个旧网站,我们已更新。他们拥有根目录下名为site的文件夹下的所有内容。现在所有拥有此书签的客户我想将它们重定向到新网站的主页面,而不是在我们的新WordPress安装中找不到的页面,无论文件夹网站(子文件夹,文件)之后是什么。任何帮助表示赞赏。

旧网址:http://www.oldsite.com/site/....到新网址http://www.newsite.com

我试过这个无济于事

Rewrite Rule ^site/(.*)$ http://www.newsite.com

感谢。

2 个答案:

答案 0 :(得分:4)

尝试:

RewriteEngine On
RewriteCond %{HTTP_HOST} oldsite.com$ [NC]
RewriteRule ^site/(.*)$ http://www.newsite.com/$1 [R=301,L]

这会将http://www.oldsite.com/site/some-page.html重定向到http://www.newsite.com/some-page.html( / site /在301重定向中结转后,的匹配位),但是如果你想要将/ site /的所有内容重定向到newsite的索引根,将RewriteRule中的目标替换为http://www.newsite.com/(删除$ 1位)。


编辑:

  

我实际上在上面写错了。它实际上是相同的域名。问题应该是读取旧网址mysite.com/site ....此文件夹下的所有内容都只是重定向到mysite.com

然后你想要的是:

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

或者使用mod_alias:

RedirectMatch 301 ^/site/(.*)$ /$1 

答案 1 :(得分:1)

看起来你只需要这个简单的1条规则:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^site/ / [R=301,L,NC]