在 Ubuntu 服务器上,我有以下文件夹树:/var/www/domain /var/www/camera
在 Apache 的 .conf 文件中我有:
ServerName domain.eu
ServerAlias www.domain.eu
DocumentRoot /var/www/domain
Alias /camera /var/www/camera
如果用户输入“www.domain.eu”,则会转到 /var/www/domain。没问题。
但如果用户输入“www.domain.eu/camera”将其重定向到 /var/www/camera,则不起作用。用户收到:“此服务器上未找到所请求的 URL /camera。”
缺少什么了吗?
更新:我的当前配置如下:
<VirtualHost *:443>
ServerName domain.eu
ServerAlias www.domain.eu
<Directory "/var/www/domain">
Options All Includes Indexes FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
</Directory>
DocumentRoot /var/www/domain
Alias /camera /var/www/camera
<Directory "/var/www/camera">
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
但它不起作用。我仍然收到“在此服务器上未找到所请求的 URL/相机”。
答案1
问题解决了。必须在 /etc/apache2/mods-enabled/alias.conf 文件中配置别名命令。这很奇怪,但它们在虚拟主机文件中被忽略了。在我看来,这不合逻辑 - 如果我有更多的网站,那么 /etc/apache2/mods-enabled/alias.conf 中的别名将适用于所有网站。但在我将别名从网站配置文件移动到 alias.conf 文件后,它立即开始工作。