需求:要把访问域名 www.domain1.com 的域名转发到 www.domain2.com 上
实现:
在相关的虚拟主机中增加如果是多个域名重定向到一个域名
实现:
在相关的虚拟主机中增加
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^www.domain1.com$
- RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^www.domain.com [OR]
- RewriteCond %{HTTP_HOST} ^www.domain1.com$
- RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
0
我按照自己的想法把代码改了,试验了一下,发现重定向不了。又严格按照铭哥的代码改了回来才重定向成功。分享一下经过。首先完全正确的重定向代码如下
我第一次写的时候误以为上方代码和下面的代码等效,就写成了下面的代码。
结果两个只会正常访问同一个页面,不会发生域名重定向。找了好长时间原因最终发现是代码中的字符 “/”位置不对。究其原因我觉得是%{HTTP_HOST}只会匹配一个正确完整的域名,而字符 “/” 不属于域名的一部分。
写下帖子引以为戒,若有不当的地方恳请各位高手指正。
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^www.domain1.com$
- RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
- </IfModule>
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^www.domain1.com/$
- RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
- </IfModule>
写下帖子引以为戒,若有不当的地方恳请各位高手指正。
编辑回复