如何配置Apache以使用自定义错误页面

2020年12月31日19:35:31 发表评论 54 次浏览

介绍

了解如何在Apache中设置自定义错误页面。 Apache Web服务器为404、500和其他常见的Apache错误提供了一组默认的通用错误页面。

但是, 创建自定义错误页面可以使你:

  • 在这些页面上继续你的品牌
  • 将他们的设计融入你网站的外观
  • 将迷路的游客引导到他们的目的地
  • 提供英语以外的其他语言的错误页面

要求

  • 运行Linux(CentOS 7或Ubuntu 14.04)的Cloud Server
  • Apache已安装并正在运行

创建自定义错误页面

首先, 你需要创建自定义错误页面。为了进行测试, 我们将创建一个示例错误页面来处理404错误。

使用SSH连接到服务器, 然后转到网站的文档根目录。创建一个名为my-404.html使用命令:

sudo nano my-404.html

将以下内容放入此文件:

<html>
<head>
<title>My Custom 404 Error Page</title>
</head>

<body>
<p>Whoops, page not found! Sorry about that.</p>

</body>
</html>

保存并退出文件。

你可以通过以下方式查看文件http://example.com/my-404.html以确保其正确显示。

配置Apache使用自定义错误页面

要告诉Apache使用自定义错误页面, 你需要添加一个错误文件指示。该指令的语法为:

ErrorDocument 404 [path to file]

对于此示例, 由于my-404.html文件位于站点的文档根目录中, 我们将添加指令:

ErrorDocument 404 /my-404.html

该指令需要放入虚拟主机该站点的主Apache配置文件中的命令块。

按照惯例, 此Apache配置文件通常为:

  • CentOS的7/etc/httpd/conf.d/example.com.conf
  • Ubuntu 14.04/etc/apache2/sites-available/example.com.conf

注意:站点的Apache配置文件的位置和文件名可能会根据你或你的服务器管理员设置主机的方式而有所不同。

使用你选择的编辑器编辑此文件, 例如, 使用以下命令:

  • CentOS的7须藤nano /etc/httpd/conf.d/example.com.conf
  • Ubuntu 14.04须藤纳米/etc/apache2/sites-available/example.com.conf

滚动浏览文件, 直到找到虚拟主机命令块, 如下所示:

<VirtualHost *:80>
ServerName example.com
    <Directory "/var/www/example.com/html">
    AllowOverride All
    </Directory>
</VirtualHost>

添加错误文件到虚拟主机命令块, 但请务必将其放在任何外部目录命令块。例如:

<VirtualHost *:80>
ServerName example.com
ErrorDocument 404 /my-404.html
    <Directory "/var/www/example.com/html">
    AllowOverride All
    </Directory>
</VirtualHost>

保存并退出文件, 然后重新启动Apache以使更改生效:

  • CentOS的7sudo systemctl重新启动httpd
  • Ubuntu 14.04sudo服务apache2重新启动

最后, 通过转到你的网站的无效URL来测试你的错误文档。你将被重定向到新的自定义404页面。

其他HTTP错误代码

最常见的自定义错误页面是针对404错误的。但是, 你可能还想为其他Apache错误创建自定义错误页面。

可以为任何4xx或5xx错误代码配置这些页面。可以找到这些HTTP错误代码的完整列表在维基百科上.

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: