抓住所有VirtualHost不工作

我正在尝试设置一个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的专家。

对于全部即默认主机,您不需要指定ServerAlias * 。 只要确保这是第一个<VirtualHost *:80>

如果VirtualHost包含在sites-enabled/ ,则可以将其重命名为以前缀000-或类似名称开头,以便它是按字母顺序排列的第一个文件。 如果没有其他ServerNameServerAlias匹配,Apache将回退到第一个。