在运行具有通配符子域的网站的服务器上托管多个站点

时间:2017-12-01 10:50:04

标签: apache .htaccess mod-rewrite dns

我有一个在Apache网络服务器上运行的网站,并为用户支持通配符子域。例如:

username.domain.com,username1.domain.com都是有效的子域,指向Apache Web服务器上/ var / www / production中的主站点。

现在在同一个Web服务器上,我有一个文件夹/ var / www / dev和邮件服务器(运行rainloop)/ var / www / rainloop的开发站点。

我为主生产站点,开发站点和邮件服务器配置了单独的虚拟主机。

但是当我运行dev.domain.com或mail.domain.com时,它会运行我的生产站点。请求转到我的主站点处理子域请求的路由。

我正在使用Apache Web服务器运行Ubuntu 14.04。

以下是我的主站点和开发站点的vhost配置:

主要网站:

<VirtualHost *:443>
ServerAdmin administrator@domain.com
DocumentRoot /var/www/production
ServerName www.domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
SSLEngine on
SSLCertificateFile /etc/ssl/domain.crt
SSLCertificateKeyFile /etc/ssl/domain.key
SSLCertificateChainFile /etc/ssl/domain.ca-bundle

</VirtualHost>

开发网站:

<VirtualHost *:80>
        ServerName dev.domain.com
        ServerAdmin admin@dev.domain.com
        DocumentRoot /var/www/dev
        ServerAlias dev.domain.com

    <Directory /var/www/dev>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
        Require all granted
    </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

那我怎么能分开运行两个网站?由于我不想要的通配符子域,我的子域路由dev.domain.com路由到主站点。 我想分开运行这些网站,即当用户访问dev.domain.com时,它应该去/ var / www / dev文件夹,而任何其他子域请求如username.domain.com应该转到/ var / www / production site。

我是否需要在vhost中更新配置?

谢谢!

0 个答案:

没有答案