apache支持多域名的配置

一台apache主机上如何绑定多域名?

这个问题在我前段时间决定从IIS转向apache时用了一天才解决的问题,现将过程分享给大家。有错误的地方还请指正。

第一步安装好apache,mysql;

第二部配置apache和mysql,这个在网上有一大把,不知道的请问google或baidu。(确保以上两步正确后可进行第三步

第三部配置apache多域名,也可以称为主机头。过程如下(以ip地址为:123.123.123.123,默认端口为例):

在httpd.conf文件末尾加上如下代码:

NameVirtualHost 123.123.123.123:80

<VirtualHost 123.123.123.123:80>
ServerName www.a.com
DocumentRoot f:\website\a
ErrorLog logs/moodle-error.log
TransferLog logs/moodle-access.log
ServerAdmin master@a.com
</VirtualHost>

<VirtualHost 123.123.123.123:80>
ServerName a.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.a.com$1 [R=301,L]
</VirtualHost>
<VirtualHost 123.123.123.123:80>
ServerName www.b.com
DocumentRoot f:\website\b
ErrorLog logs/word-error.log
TransferLog logs/word-access.log
ServerAdmin master@b.com
</VirtualHost>
<VirtualHost 123.123.123.123:80>
ServerName b.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.b.com$1 [R=301,L]
</VirtualHost>

分析:以上就配置了www.a.com和www.b.com域名指向同一台服务器,各不相干的局面。不带www的域名使用301重定向到带www的域名,保证了对搜索引擎的友好性,把#LoadModule rewrite_module modules/mod_rewrite.so 前的#去掉并重启apache,保证RewriteEngine 能够正常工作(切记)。当然你也可以带www的域名使用301重定向到不带www的域名。

文章到此结束,有问题请留言。

本文固定链接: http://www.webzhishi.com/apache_domain/ | web知识网

【上一篇】
【下一篇】

apache支持多域名的配置:目前有2 条留言

  1. 沙发
    chuyik:

    谢谢指导!但请问楼主DocumentRoot f:\website\b的斜杠是不是错了?应该是/吗?
    还有ServerName http://www.a.com可以写ServerName shop.a.com吗?

    2012-04-26 上午 11:06 [回复]
    • 反斜杠和斜杠都是可以的,一个反斜杠的话不要加引号。完全可以换成shop.a.com

      2012-04-26 上午 11:15 [回复]

发表评论

快捷键:Ctrl+Enter