apache2: userdir в userdir.domain.fr с использованием VirtualDocumentRoot

Я использую 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, а любой..mydomain.fr - на www.mydomain.fr.

Я даже не знаю, как его отладить или отследить.

1 ответ

Очень просто, просто отключите 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>
Другие вопросы по тегам