如何将子文件夹重定向到不同于根域的域

时间:2015-02-09 12:21:24

标签: .htaccess mod-rewrite redirect

IHi,我是这样的,我已经阅读并尝试了我在这里找到的所有提示,但它仍然没有按照我需要的方式工作。

我正在使用htaccess来重新编写域,它的结构是新域:

`rewritecond %{http_host} ^www.olddomain.com [nc]
rewriterule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc]`

它会重置所有子文件夹,例如: www.olddomain.com/contact/到www.newdomain.com/contact/等,到目前为止一直很好,但我需要将主页(仅限一页)重新编辑到不同的URL: 从www.olddomain.com到www.newdomain.com/about-old /

我所有人都试过这个:

`Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^www.olddomain.com [nc]
rewriterule ^(.*)$ http://www.newdomain.com/about-old/ [r=301,nc,L]
rewritecond %{http_host} ^www.olddomain.com [nc]
rewriterule ^(.*)$ http://www.newdomain.com/$1 [r=301,nc]`

但它只是将所有内容改为www.newdomain.com/about-old/

请问任何想法? 谢谢你

1 个答案:

答案 0 :(得分:0)

要匹配您需要的主页模式:

^/?$

所以你的完整代码将是:

Options +FollowSymlinks
RewriteEngine on

rewritecond %{http_host} ^(www\.)?olddomain\.com$ [nc]
rewriterule ^/?$ http://www.newdomain.com/about-old/ [R=301,L]

rewritecond %{http_host} ^(www\.)?olddomain\.com$ [nc]
rewriterule ^(.+)$ http://www.newdomain.com/$1 [R=301,L,NE]