Назад | Перейти на главную страницу

Перенаправить поддомен в каталог с vhosts

Я хочу перенаправить поддомен в каталог пользователя.

Итак, я пробовал эту конфигурацию, но похоже, что она перенаправляет в корневую папку.

<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