我想要实现的目标是:
请求来自:sub.mydomain.co.uk
我必须将 DocumentRoot 设置为 /var/www/common
我在 /var/www/common 中创建了一个符号链接,如“ln -s /home/user/folder/ sub.mydomain.co.uk”
我如何让 apache 将其识别为用户目录并遵循它。
答案1
我不确定这是否正是您所需要的,但应该足以开始。首先,www-data 用户(debian 的 apache 默认用户)必须有权访问 /home/user/folder
然后您可以在文件中为 apache 创建新的配置/etc/apache/sites-available/virtuals
<VirtualHost *:80>
DocumentRoot /var/www/common/default/
VirtualDocumentRoot /var/www/common/%0
<Directory />
Options FollowSymlinks
AllowOverride All
</Directory>
</VirtualHost>
然后你需要使用以下命令激活此配置
a2ensite virtuals
service apache2 reload
最好禁用默认配置
a2dissite default
service apache2 reload
/var/www/common/default
当请求不存在的页面时应该有一些默认页面。
使用此配置,您可以简单地为您希望在服务器上处理的任何域创建目录/var/www/common
,因此http://one.simple.domain.com
将从/var/www/common/one.simple.domain.com directory
另外更安全的方法是设置SymLinksIfOwnerMatch
而不是FollowSymlinks
,请参阅相应的文档。