自动设置带有子域的 Apache 虚拟主机

自动设置带有子域的 Apache 虚拟主机

我在这里发帖,因为我想自动配置 apache vhosts,比如 a.mydomain.com、b.mydomain.com 等等......但它不起作用。

我已经设置了一个 DNS Wilcard 记录,如 (* 3600 IN A 1.2.3.4)。

并像这样设置我的appache:

<VirtualHost *:80>

    ServerName mydomain.com
    ServerAdmin [email protected]
    ServerAlias *.mydomain.com

    DocumentRoot /var/www
    DirectoryIndex index.html index.php
    VirtualDocumentRoot /var/www/vhosts/%1
    UseCanonicalName Off


    <Directory /var/www/vhosts>
            DirectoryIndex index.html index.php
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>

    # Custom Errors
    ErrorDocument 404 /errors/404/index.html

    RewriteEngine on
    RewriteCond /var/www/vhosts/%1 -d

    RewriteRule ^(.*) /%1/$1 [L]

    RewriteCond %{SERVER_NAME} =*.mydomain.com [OR]
    RewriteCond %{SERVER_NAME} =mydomain.com

这是有效的:

当我输入 mydomain.com/index.html 时,我会显示好的内容。

这不起作用:

当我输入 a.mydomain.com 或 something.mydomain.com 时,我会显示相同的内容,但通常情况下,它必须显示其他内容。如果我不输入 /index.html,我就会得到“禁止访问”的信息。

你能帮助我吗 ?

相关内容