我在domain.com
上有网站
位于/var/www/main
我还启动了另一个网站,我希望在网址domain.com/a/b
但实际文件位置为/var/www/main/a/b/c
问题是我希望用户使用网址domain.com/a/b
并从/var/www/main/a/b/c
获取文件
所以我在/etc/apache2/sites-available/domain.com.conf
只有这个
<virtualhost *:80>
ServerName domain.com
DocumentRoot /var/www/main
</virtualhost>
现在,在阅读了有关它的不同主题之后,我已尝试添加此内容,所以现在我的domain.com.conf文件看起来像这样
<virtualhost *:80>
ServerName domain.com
DocumentRoot /var/www/main
</virtualhost>
<virtualhost *:80>
ServerName domain.com
ServerPath /a/b/
DocumentRoot /var/www/main/a/b/c
RewriteEngine On
RewriteRule ^(/a/b/.*) /var/www/main/a/b/c
# ...
</virtualhost>
但这根本不起作用。 我做错了什么?
答案 0 :(得分:3)
无需重写规则。只需在/etc/apache2/sites-available/domain.com.conf
中设置别名:
<virtualhost *:80>
ServerName domain.com
DocumentRoot /var/www/main
Alias /a/b /var/www/main/a/b/c
</virtualhost>
然后重启apache:
$ sudo service apache2 restart