apache2:userdir.domain.fr中的userdir,使用VirtualDocumentRoot

时间:2015-02-17 10:59:58

标签: apache2 mod-vhost-alias

我使用apache2,我想拥有像username.mydomain.fr

这样的东西

www.mydomain.fr - > / var / www / web-en-royans工作正常 username.mydomain.fr - > / home / username / www不起作用

另外,www.mydomain.fr /〜username - > / home / username / www这样做很好,但我不在乎。

我激活了user_dir和vhost_alias。

UseCanonicalName Off

<VirtualHost *:80>
    ServerName www.web-en-royans.fr
    DocumentRoot /var/www/web-en-royans
</VirtualHost>
<VirtualHost *:80>
    ServerName *.web-en-royans.fr
    VirtualDocumentRoot /home/%-3/www
    #VirtualDocumentRoot /home/%1/www
</VirtualHost>

    <Directory "/var/www/web-en-royans">
        Options Indexes MultiViews FollowSymLinks
        Order deny,allow
        Allow from all
    </Directory>
    <Directory "/home/*/www">
            Options Indexes MultiViews FollowSymLinks
            Order deny,allow
            Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.web-en-royans.fr.log
    CustomLog /var/log/apache2/access.web-en-royans.fr.log combined

我想使用VirtualDocumentRoot而不是rewrite_url 此外,username.mydomain.fr访问www.mydomain.fr,以及whatever.mydomain.fr转到www.mydomain.fr。

我甚至不知道如何调试或跟踪它。

1 个答案:

答案 0 :(得分:0)

非常简单,只需禁用mod-userdir,然后添加ServerAlias

即可
<VirtualHost *:80>
    ServerName www.web-en-royans.fr
    DocumentRoot /var/www/web-en-royans
</VirtualHost>
<VirtualHost *:80>
    ServerName *.web-en-royans.fr
    ServerAlias *.web-en-royans.fr
    VirtualDocumentRoot /home/%1/www
</VirtualHost>