对于apache的域名跳转转,2种方法

当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect、域名转向)。下面用最简单的文字讲两种apache的域名跳转方法。当然可能有些dns解析商有自带域名URL跳转,找它们开启即可。

假设我们想把www.old.com转向到www.sodone.com。

1 &用html域名跳转:

&.用php域名跳转
在apache里给不同的域名建立不同的虚拟主机。分别对应 www.old.com 与www.sodone.com。

然后在www.old.com的目录里面建立一个index.php文件,文件内容如下:
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://www.sodone.com/’);
?>

重新启动apache服务器,用户访问www.old.com时就自动跳转为www.sodone.com。

2.用.htaccess做域名跳转
apache默认是开启.htaccess的。如果实际用的过程中下边的相关配置不起作用,可能是.htaccess关闭了,可按下边的方法打开:
编码apache的配置文件httpd.conf,把相应的内容修改为:
Options FollowSymLinks
AllowOverride All
LoadModule rewrite_module modules/mod_rewrite.so #也就是把这一行前的注释去掉
然后重启动apche服务器。

编辑apahce中web根目录下.htaccess文件(如题没有此文件,则直接新建立一个既可)。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com [NC]
RewriteRule ^(.*) http://www.sodone.com/ [R=301,L]

访问www.old.com同样会转向到www.sodone.com。

还有改配置文件

进入apache配置目录里
cd /etc/httpd/conf
用Vi编辑 httpd-vhosts.conf文件
vi httpd-vhosts.conf

找到以下内容:


   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/lampw.com/www"
   ServerName lampw.com:80
   ServerAlias *.lampw.com
   ErrorDocument 404 /404.html
   ErrorLog /var/www/html/log/lampw.com.error.log
   CustomLog /var/www/html/log/lampw.com.CustomLog common

在  CustomLog /var/www/html/log/lampw.com.CustomLog common 代码下面添加以下内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^lampw\.com$ [NC]
RewriteRule ^(.*)$ http://www.lampw.com$1 [R=301,L]



   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/lampw.com/www"
   ServerName lampw.com:80
   ServerAlias *.lampw.com
   ErrorDocument 404 /404.html
   ErrorLog /var/www/html/log/lampw.com.error.log
   CustomLog /var/www/html/log/lampw.com.CustomLog common


RewriteEngine on
RewriteCond %{HTTP_HOST} ^lampw\.com$ [NC]
RewriteRule ^(.*)$ http://www.lampw.com$1 [R=301,L]


完成后重启apache 服务
service httpd restart
设置完成

看不懂可参考:http://wenku.baidu.com/link?url=rRKM9YfAgqFf8Dp8TB2wSP0QBJvv1qWOHzsMGYqHutm5DZ7ReWJmQV1hNzqspjw3POAaknfVo-1lVT2EuT9P4jSLe1L07Rr-j3oKAlPJjX7