我正在尝试设置一个 VirtualHost,以捕获没有任何其他 VirtualHost 的所有子域。但是,使用这个,我不断获取 index.html,它不会将我带到 error.php 页面。我的操作系统是 Ubuntu 16.04,我没有更改 /etc/apache2 中的 apache.conf。我的另一个 VirtualHost 是用于在 storage.declanmarks.pw 上运行的 Nextcloud。
<VirtualHost *:80>
DocumentRoot /var/www/main
ServerName null
ServerAlias *
Redirect 404 /error.php
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我不是 Apache 专家。
答案1
对于包罗万象的 ie默认您无需指定主机ServerAlias *
。只要确保这是第一个即可<VirtualHost *:80>
。
如果VirtualHost
包含在 中sites-enabled/
,您可以将其重命名为以前缀000-
或类似名称开头,以便它是按字母顺序排列的第一个文件。如果没有其他ServerName
或ServerAlias
匹配,Apache 将返回到第一个。