如何使用 Apache2 将单个子域映射到某个用户的 public_html 目录?

如何使用 Apache2 将单个子域映射到某个用户的 public_html 目录?

我正在尝试绘制daniel.mydomain.tld/主页/丹尼尔/public_html代替/var/www, 尽管我的域名.tld应该仍然指向/var/www

到目前为止我已经启用了 mod虚拟主机别名使用a2enmod vhost_alias

此外我编辑站点启用/000-默认.conf

<Virtualhost *:80>
        ServerName mydomain.tld
        ServerAdmin www@localhost
        ServerAlias mydomain.tld
        DocumentRoot "/var/www"
        AccessFileName .htaccess
        <Directory "/var/www">
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

并创造了已启用站点/daniel.conf内容如下

<Virtualhost *:80>
        ServerName daniel.mydomain.tld
        ServerAlias daniel.mydomain.tld
        ServerAdmin www@localhost
        DocumentRoot "/home/daniel/public_html"
        AccessFileName .htaccess
        <Directory "/home/daniel/public_html">
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>

完成后,我使用 重新启动了服务器service apache2 restart

当我加载时我的域名.tld在我的浏览器中,我进入了位于/var/www,这样就可以按预期工作。

尝试浏览mydomain.tld/~daniel/运行良好,向我展示了用户 daniel 的/主页/丹尼尔/public_html文件夹。

然而,访问daniel.mydomain.tld提出403 禁止-您无权访问此服务器上的/。

我做错了什么?如何映射daniel.mydomain.tld/主页/丹尼尔/public_html文件夹?

我上线了Debian 8(杰西)跑步Apache/2.4.10(Debian)

答案1

删除后Option FollowSymLinks它的行为就完全符合我的要求了。

相关内容