操作
server.error-handler-404 选项¶
server.error-handler-404¶
如果请求的URL导致找不到静态文件,则调用的URI。如果动态内容(例如fastcgi脚本)返回HTTP 404状态码,则不会调用此URI。
您可以将动态页面或静态页面用作处理器。注意:如果您使用静态页面,服务器将在响应中返回 200 OK HTTP状态码,以及您的静态页面内容。但是,如果您使用动态页面,您必须在动态页面生成的HTTP头中将状态码设置为404(或另一个适当的错误码,例如“410 Gone”)。
如果使用静态文件错误页面处理404 HTTP状态码,并且发送给客户端的HTTP状态码应为404而不是200,请使用 server.errorfile-prefix 代替 server.error-handler-404。
使用 server.error-handler
(详情: dbdab5db)代替 server.error-handler-404
,以捕获所有HTTP状态码 >= 400,并在返回的静态文件中保留HTTP状态。
默认值:未设置
示例:¶
server.error-handler-404 = "/error-404.php"
先前版本¶
lighttpd 1.4.17 之前的版本在此指令的实现中存在错误,这意味着从动态内容生成的404状态码被发送到错误处理器。这阻止了从错误处理器本身发送404状态码,因为它总是返回200状态码。如果您使用的是旧版本并希望发送404状态码,请使用 server.errorfile-prefix;但是,server.errorfile-prefix 不允许动态处理器。