.htaccess ErrorDocument使用方式

不羁岁月 提交于 2019-12-04 04:50:18

网站服务器在不能响应使用者需求下,会产生各种错误讯息,这些错误讯息均有一个代码,我们来瞧瞧这代码所代表的意义:


响应代码
响应内容
代表意义
401
Authorization failed
授权失败。用户输入的账号密码无法得到授权。
403
Forbidden
访问控制机制拒绝使用者的请求,也就是说你不可以读取这个档案。
404
File not found
被要求的网页不存在于这个服务器上,找不到档案。
500
Internal Server Error
服务器内部错误;可能是网站服务器或PHP出了问题。
501
Not Implemented
服务器不了解数据传递的方式。
503
Service Unavailable
这个服务器目前正在处理太多的服务要求。

php_ch10-19

【图1 找不到档案时显示方式】

如果我们想要自定义错误讯息呢?要设定错误页,请在.htaccess中输入:
ErrorDocument 错误代码 /网站根目录开始的文件夹/文件名 

例如当使用者找不到网页时,会产生404错误的回传,请在.htaccess内加入以下数据:
ErrorDocument 404 /error/notfound.htm 当使用者在浏览不存在的网页时,就会自动转向至localhost(或你的网站ip)/error/notfound.htm,

php_ch10-20
【图2 自定义找不到档案时显示的内容】

所以您可针对上述的错误情形,在.htaccess内加入多行的语法:
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html 

除了指向目录内的网页外,您也可以指向一个网址,就可以多个网站共享相同的错误讯息,再以找不到网页时,会产生404错误的回传,您可在.htaccess内加入以下数据:

ErrorDocument 404 http://localhost/error/notfound.htm ErrorDocument也可接一段文字或者直接指定一段html语法,但是,文字或html必须与ErrorDocument是同一行。找不到网页时,希望显示文字,您可在.htaccess内加入以下数据:

ErrorDocument 404 "Page not found!!" 找不到网页时,希望显示网页,您可在.htaccess内加入以下数据:

ErrorDocument 404 "<h1><i>Page not found!!</i></h1>"

php_ch10-21
【图3 自定义找不到档案时显示的内容】

另外: 若是因为绝对路径与相对路径的问题.
最好在前面加个 Alias 去把 /error/ 的路径定义出来, 否则可能会因为路径错误而找不到档案.

Alias /errors/  "/var/www/web4/web/error/"

ErrorDocument 401 /errors/error.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!