【发布时间】:2012-04-22 20:38:10
【问题描述】:
我正在尝试将旧域的所有页面重定向到新域上有关该域的页面。
我使用下面代码的前 3 行构建了无数网站,这些代码将任何不是 www.mydomain.co.uk 的内容重定向到 www.mydomain.co.uk。
在以下 4 行中,我试图将 olddomain.co.uk 的所有页面重定向到我的新域 www.currentdomain.co.uk/page-about-olddomain 上的单个页面
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\.currentdomain\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.currentdomain.co.uk/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.olddomain\.co\.uk$ [NC]
RewriteCond %{HTTP_HOST} ^olddomain\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.currentdomain.co.uk/page-about-olddomain [R=301,L]
我想要发生的事情
我希望从上面的代码中看到页面 www.olddomain.co.uk/test-page 将重定向到 www.currentdomain.co.uk/page- about-olddomain.
实际发生的情况
我实际上看到的是页面 www.olddomain.co.uk/test-page 重定向到 www.currentdomain.co.uk/test-page。
我认为这是两组 RewriteConds 之间的冲突
对此的任何帮助我将不胜感激,我相信还有其他人想做类似的事情。
谢谢
【问题讨论】:
-
为什么需要前三行?
-
如果在没有 www(例如currentdomain.co.uk)或使用备用域(currentdomain.com)的情况下访问该站点,则前 3 行重定向到 www.currentdomain.co.uk
-
好的,在这种情况下@LazyOne 的答案应该是正确的。
标签: .htaccess mod-rewrite redirect multiple-domains