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>