Я хочу перенаправить поддомен в каталог пользователя.
Итак, я пробовал эту конфигурацию, но похоже, что она перенаправляет в корневую папку.
<VirtualHost *:80>
ServerName epnet.fr
ServerAlias *.epnet.fr
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.epnet\.fr
RewriteCond /home/%1/apps/ -d
RewriteRule ^(.*) /%1/$1 [L]
<Directory /home>
Options Includes FollowSymlinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
Например, у меня есть пользователь tiste, я бы хотел перенаправить tiste.epnet.fr в / home / tiste / apps /, и тогда все страницы веб-сайта, которые находятся в apps /, будут доступны tiste.epnet. .fr / index.php
Спасибо !
Apache поставляется с очень удобным модулем для этого, который называется mod_userdir
что сделало бы это намного проще, чем использование просто перезаписи. (Для этого есть хороший учебник Вот.) В частности, чтобы объединить это с виртуальными хостами, это задокументировано Вот.
Вам нужно использовать DocumentRoot
<VirtualHost *:80>
ServerName epnet.fr
ServerAlias *.epnet.fr
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.epnet\.fr
RewriteCond /home/%1/apps/ -d
RewriteRule ^(.*) /%1/$1 [L]
DocumentRoot /var/www/whatfolderyouwant
</VirtualHost>
Убедитесь, что создаваемая вами папка имеет правильные разрешения:
sudo chmod -R 755 /var/www/whatfolderyouwant
И, наконец, убедитесь, что вы активировали хост с помощью команды:
sudo a2ensite epnet.fr
Это руководство было очень полезно для меня, когда я учился настраивать виртуальные хосты на apache2: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts