在apache的根目录下,想要发布多个域名对应不同的目录,原想的解决方法是发布多个虚拟主机,这样虽然能解决问题,但是感觉比较麻烦,apache给我们提供了比较简单的方法。这个需要加载rewrite模块
在配置文件里面加上如下内容:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/apache2/conf/extra/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
创建vhost.map文件,这里面就是域名和相对应的目录
santiago.51kexue.com /data/wwwroot/zhangliang/santiago
chinese.51kexue.com /data/wwwroot/zhangliang/chinese
xuexiyu.51kexue.com /data/wwwroot/zhangliang/xuexiyu
如果有这个需求的,赶快试下吧