apache实现动态二级域名

Posted 船长博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache实现动态二级域名相关的知识,希望对你有一定的参考价值。

apache实现动态子域名,abc.zblog.com,则访问/data/www/default/zblog/abc

1.查找httpd.conf所在的位置

root@instance-baidu:/usr/local/apache/conf# sudo find / -name httpd.conf
/usr/local/apache/conf/httpd.conf

2.修改httpd.conf

vi /usr/local/apache/conf/httpd.conf
#取消注释这行
LoadModule rewrite_module modules/mod_rewrite.so

3.修改虚拟主机的配置(如何配置虚拟主机

sudo vi /usr/local/apache/conf/vhost/default.conf

<VirtualHost *:80>
DocumentRoot /data/www/default/zblog
    ServerName zblog.com
    Rewriteengine On
RewriteCond %{HTTP_HOST} !^www\\.zblog\\.com$ //这行是避免www也被重写 RewriteCond
%{HTTP_HOST} ^[^.]+\\.zblog\\.com$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^([^.]+)\\.zblog\\.com(.*) /$1$2 SetOutputFilter DEFLATE Options FollowSymLinks DirectoryIndex index.php index.html index.htm </VirtualHost>

重启一下服务 service httpd restart

4.修改hosts文件做测试:

IP改为你自己的服务器IP

sudo vi /etc/hosts
127.111.39.58 abc.zblog.com
127.111.39.58 zblog.com

  abc文件夹的内容是:

root@instance-baidu:/data/www/default/zblog/abc# pwd
/data/www/default/zblog/abc
root@instance-baidu:/data/www/default/zblog/abc# cat index.html 
i am abc page.

特殊域名可以设置代理或其它重写规则:访问baidu.zblog.com代理到http://www.baidu.com

<VirtualHost *:80>
DocumentRoot /data/www/default/zblog
ServerName zblog.com
Rewriteengine On
RewriteCond %{HTTP_HOST} !^baidu\\.zblog\\.com$
RewriteCond %{HTTP_HOST} !^www\\.zblog\\.com$
RewriteCond %{HTTP_HOST} ^([^.]+)\\.zblog\\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\\.zblog\\.com(.*) /$1$2


RewriteCond %{HTTP_HOST} ^baidu\\.zblog\\.com$
RewriteRule ^/(.*) http://www.baidu.com [P]
LogLevel warn rewrite:trace3

SetOutputFilter DEFLATE
Options FollowSymLinks
DirectoryIndex index.php index.html index.htm
</VirtualHost>

 

查看apache日志:

 tail -f /usr/local/apache/logs/error_log

  参考:

https://blog.csdn.net/mzllyl/article/details/84434976

详细的rewrite规则,参考:

https://www.cnblogs.com/my2018/p/10675976.html

以上是关于apache实现动态二级域名的主要内容,如果未能解决你的问题,请参考以下文章

是否可以动态编译和执行 C# 代码片段?

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

在单个活动中动态实现多个片段

?搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机

mybatis学习(39):动态sql片段

Apache+VM虚拟机+动态域名+T-link402 做个网站服务器怎么做? 请每一步详细讲解,最好是文图讲解,谢谢.