关于网站二级域名的设置

产品网站的需要,网站需要分设几个二级域名作为独立入口进行访问。
服务器是centos6.3,环境暂时用了xampp集成环境。
在设置二级域名的时候发现如下两张二级域名的设置方式,推荐使用第二种,无需重启,url也干净没有小尾巴。
1、VirtualHost方式
找到apache配置文件httpd.conf进行配置
设置权限路径:
DocumentRoot "/opt/lampp/htdocs"
<Directory "/opt/lampp/htdocs">
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    Require all granted
</Directory>
 
httpd.conf配置中招到:
# Virtual hosts
#Include etc/extra/httpd-vhosts.conf
去掉Include etc/extra/httpd-vhosts.conf前的#号
对应etc/extra/文件目录下找到httpd-vhosts.conf
 
httpd-vhosts.conf
文件配置:
<VirtualHost *:80>
    ServerAdmin host@abc.com
    DocumentRoot "/opt/lampp/htdocs/www"
    ServerName www.abc.com
    ErrorLog "logs/www.abc.com-error_log"
    CustomLog "logs/dummywww.abc.com-access_log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerAdmin host@joyoget.com
 UseCanonicalName Off
    DocumentRoot "/opt/lampp/htdocs/test"
    ServerName test.abc.com
    ErrorLog "logs/dummy-test.abc.com-error_log"
    CustomLog "logs/dummy-test.abc.com-access_log" common
</VirtualHost>
配置中www.abc.com为主域名,test.abc.com为二级域名,分别配置相应的文件地址:/opt/lampp/htdocs/www,/opt/lampp/htdocs/test
 
配置完成充值apache即可。
该配置方式简单,但会带来一个问题,在访问二级域名的时候,test.abc.com会带个小尾巴,变成如:test.abc.com/index.php这样的url,给人的体验不好。
因此,又用到了第二中方式。
 
2、RewriteEngine方式
还是打开httpd.conf
设置权限路径:
DocumentRoot "/opt/lampp/htdocs"
<Directory "/opt/lampp/htdocs">
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    Require all granted
</Directory>
开启LoadModule rewrite_module modules/mod_rewrite.so
 
在配置末尾增加如下代码:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/opt/lampp/etc/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
 
/opt/lampp/etc/vhost.map文件地址,放在httpd.conf同一目录即可
创建文件:vhost.map放在上述地址中
vhost.map配置:
www.abc.com /opt/lampp/htdocs/www
test1.abc.com /opt/lampp/htdocs/test1
test2.abc.com /opt/lampp/htdocs/test2
 
不需重启apache,访问test1.abc.com,小尾巴没了,O(∩_∩)O哈哈~
 
 
 
 
 
 
posted @ 2014-06-21 14:38  鼹鼠贪贪  阅读(295)  评论(0编辑  收藏  举报