Apache - 简单别名指令不起作用

Apache - 简单别名指令不起作用

在 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 文件后,它立即开始工作。

相关内容