之前配置Apache支持虚拟主机都是通过每个域名都有自己的配置文件,通过<VirtualHost></VirtualHost>实现。
最近发现可以通过rewrite规则实现。这种方法貌似不太常用。
只需要一个配置文件,每个虚拟主机配置一行即可实现,非常方便。个人认为不太推荐这种方式。
修改主配置文件:
/etc/httpd/conf/httpd.conf
在最后一行添加如下部分:
RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/etc/httpd/conf.d/vhost.map RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ RewriteCond ${vhost:%1} ^(/.*)$ RewriteRule ^/(.*)$ %1/$1
创建 /etc/httpd/conf.d/vhost.map 文件,内容为:
www.qdsop.com /var/www/html/www
bbs.qdsop.com /var/www/html/bbs
一个域名对应一个目录。重启apache。
在dns后台中添加泛解析记录:
主机名为”*”,类型为”A”,指向服务器IP。
这样就可以通过www.qdsop.com和bbs.qdsop.com访问不同的页面了。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2882.html