我想redirect一个子域到用户目录。
所以我试过这个configuration,但似乎redirect到根文件夹。
<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.frredirect到/ home / tiste / apps /,然后,任何位于app /上的网站页面都可以访问tiste.epnet .FR / index.php文件
谢谢 !
Apache为这个名为mod_userdir
模块提供了一个非常方便的模块,这比使用重写更容易。 (这里有一个很好的教程。)具体来说,将其与虚拟主机相结合,这是logging在这里 。
您需要使用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>
确保您正在创build的文件夹具有正确的权限:
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