您有个知识币

【退出】

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支持多域名的配置:目前有1 条留言

  1. chuyik:  

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

    2012-04-26 11:06:43 [回复]
    • 黑♂白:  

      反斜杠和斜杠都是可以的,一个反斜杠的话不要加引号。完全可以换成shop.a.com

      2012-04-26 11:15:35 [回复]

发表评论