在Apache中设置DNS子域

92vpleto  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(105)

请帮我配置以下逻辑:当请求example.ru时,显示来自var/www/example.ru的内容。当请求*.example.ru时,显示来自var/www/subdomain的内容(其中 * 表示任何子域,如admin.example.ru)。
我试着这样做,但不管用:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName example.ru
    ServerAlias *.example.ru
    DocumentRoot /var/www/example.ru

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !=example.ru
    RewriteCond %{HTTP_HOST} ^(.+)\.example\.ru$ [NC]
    RewriteRule ^(.*)$ /var/www/subdomain/$1 [L]

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

字符串

628mspwn

628mspwn1#

只需要将它分成两个虚拟主机,并为每个虚拟主机设置DocumentRoot。根本不需要使用重写规则。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName example.ru
    DocumentRoot /var/www/example.ru
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName sub.example.ru
    ServerAlias *.example.ru
    DocumentRoot /var/www/subdomain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

字符串

相关问题