这个问题在我前段时间决定从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.comDocumentRoot f:\website\aErrorLog logs/moodle-error.logTransferLog logs/moodle-access.logServerAdmin master@a.com</VirtualHost><VirtualHost 123.123.123.123:80>
ServerName a.comRewriteEngine onRewriteRule ^(.*)$ http://www.a.com$1 [R=301,L]</VirtualHost><VirtualHost 123.123.123.123:80>ServerName www.b.comDocumentRoot f:\website\bErrorLog logs/word-error.logTransferLog logs/word-access.logServerAdmin master@b.com</VirtualHost><VirtualHost 123.123.123.123:80>ServerName b.comRewriteEngine onRewriteRule ^(.*)$ 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的域名。