在Apache中设置动态二级域名

网络 z197 830次浏览 已收录 用手机观看

每次操作时,都要查代码,老马这里自己做个记录,方便查阅。

配置Apache服务器以支持虚拟主机。

在Apache的httpd.conf文件中添加以下配置:

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
</VirtualHost>

创建一个子域名的模板文件。

可以在 /etc/apache2/sites-available/ 目录下创建一个名为 mydomain.com.template 的文件,内容如下:

<VirtualHost *:80>
ServerName %1.mydomain.com
ServerAdmin webmaster@mydomain.com
DocumentRoot /var/www/%1
</VirtualHost>

启用模板匹配功能:

Apache的httpd.conf文件中添加以下配置

RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com$
RewriteRule ^/(.*)$ /$1 [L,E=VHOST:${lowercase:%1}]

启用虚拟主机配置文件:

sudo a2ensite mydomain.com.template
sudo service apache2 reload

创建一个子目录来存储每个二级域名的网站文件

例如,在 /var/www 目录下创建名为 mysubdomain1 的目录,用于存储 mysubdomain1.mydomain.com 网站的文件。

重启Apache服务器

sudo service apache2 restart