Apache 自定义 404 页面未加载

iam*_*man 0 html custom-errors apache-2.2

我正在尝试为404我的 apache 服务器上的错误设置一个自定义错误页面。

这是我包含在 Virtualhost

<VirtualHost *:80>
   ErrorDocument 404 /var/www/html/mant.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但是这个页面没有显示而是重定向到默认的 404 页面

笔记:

我已经重新启动了apache sudo service apache2 restart

我可以使用以下网址访问错误页面

<ip>/mant.html

HBr*_*ijn 5

您当前的配置需要在 上找到自定义错误页面http://www.example.com/var/www/html/mant.html

ErrorDocument 的路径是一个 URL 路径,或者相对于您的 DocumentRoot:

<VirtualHost *:80>
   DocumentRoot /var/www/html/
   ErrorDocument 404 /mant.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

或绝对 URL,例如:

<VirtualHost *:80>
   DocumentRoot /var/www/html/
   ErrorDocument 404 http://www.example.com/mant.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

它不是文件系统上的路径。


编辑:根据您的评论

问题是一旦构建开始,文档根文件夹就会被删除,因此当时有人尝试访问它应该返回 404 错误页面。

然后将您的错误页面存储在 DocumentRoot 之外,它们不会被删除:

 Alias /errors/ /var/www/errors/
 ErrorDocument 404 /errors/404.html` 
Run Code Online (Sandbox Code Playgroud)