上一篇文章写到使用 apache geoip模块实现域名下级目录跳转,他是对全局生效的,但是我的虚拟主机下有其他的虚拟主机,如果按照上一篇文章的配置,那些不需要做二级跳转的网站将不能正常访问。以下配置只针对需要做下级目录跳转的网站生效:具体做法是只改需要做跳转的虚拟主机配置文件,
cd /etc/httpd/conf.d
vim cn-en.conf
#NameVirtualHost * <VirtualHost *:80> DocumentRoot /var/www/html/ ServerName www.ruizengguoji.com LoadModule geoip_module modules/mod_geoip.so <IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$ RewriteCond %{HTTP_HOST} ^www.a.com [NC] RewriteRule ^/$ /cn/index.html [R=301,L] RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$ RewriteCond %{HTTP_HOST} ^www.a.com [NC] RewriteRule ^/$ /en/index.html [R=301,L] </IfModule> </VirtualHost>
这时如果我的虚拟主机目录下有其他的网站,将不会受到上面两个网站的影响。
测试其他网站是否可用:
cd /etc/httpd/conf.d
vim bbs.conf
#NameVirtualHost * <VirtualHost *:80> DocumentRoot /var/www/html/bbs ServerName bbs.a.com </VirtualHost>
echo bbs > /var/www/html/bbs/index.html
在浏览器测试ok通过。
时间: 2024-10-27 19:45:13