404
我正在尝试为我的 apache 服务器上的错误设置自定义错误页面。
以下是我所包含的内容Virtualhost
<VirtualHost *:80>
ErrorDocument 404 /var/www/html/mant.html
</VirtualHost>
但此页面未显示,而是重定向到默认 404 页面
笔记:
我已经重新启动了 apachesudo service apache2 restart
我可以使用以下 URL 访问错误页面
<ip>/mant.html
答案1
您当前的配置要求在 上找到自定义错误页面http://www.example.com/var/www/html/mant.html
。
ErrorDocument 的路径是一个 URL 路径,相对于您的 DocumentRoot 而言:
<VirtualHost *:80>
DocumentRoot /var/www/html/
ErrorDocument 404 /mant.html
</VirtualHost>
或者绝对 URL,例如:
<VirtualHost *:80>
DocumentRoot /var/www/html/
ErrorDocument 404 http://www.example.com/mant.html
</VirtualHost>
它不是您的文件系统上的路径。
编辑:根据您的评论
问题是,一旦构建开始,文档根文件夹就会被删除,因此当时有人尝试访问它时会返回 404 错误页面。
然后将错误页面存储在 DocumentRoot 之外,这样它们就不会被删除:
Alias /errors/ /var/www/errors/
ErrorDocument 404 /errors/404.html`