专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > PowerDesigner

Lighttpd配备返回状态码的方式

发布时间:2011-06-20 20:18:36 文章来源:www.iduyao.cn 采编人员:星星草
Lighttpd配置返回状态码的方式
如何返回一个404状态码和404页面:
某些资源不相让用户直接访问,可以直接rewrite到一个404页面,例如:
url.rewrite = ( "^/download/(.*)\.(zip|rar)$" => "/404.htm" )

这样当用户直接访问download下的zip和rar文件时候就会看到一个404.htm的错误页面,但是这样做页面对了,浏览器取得的状态码却还是200,比如爬虫之类的爬到这个地址就会认为这个地址是有效的,怎么让用户能看到404页面,返回的状态码也是404呢?
url.rewrite = ( "^/download/(.*)\.(zip|rar)$" => "/404.html" )
server.error-handler-404 = "/404.htm"

这里注意扩展名,404.html是不存在的,404.htm是真实存在的,所以当rewrite到一个不存在的文件时候lighttpd就会返回404状态码,而server.error-handler-404就会把404.htm的内容返回给浏览器。这样返回的状态码和页面内容就保持一致了。

如何返回一个403状态码和403页面:
我们有时候有些资源不想对某些用户或爬虫、浏览器开放,而且我也不想告诉他资源不存在,而明确告诉他禁止你的访问,这时候就需要返回403状态码,同时需要给用户返回一个403的页面,告诉他没有权限访问这些资源
$HTTP["useragent"] =~ "baidu|Sogou" {
    url.access-deny = ("")
    server.errorfile-prefix = "/srv/www/htdocs/errors/status-"
}

除了上面这段配置,还需要写一个/srv/www/htdocs/errors/status-403.html页面,
这样当agent中包含baidu或Sogou字样的时候,lighttpd就会返回一个403状态码,和status-403.html页面的内容。

1 楼 cxh116 2012-01-07  
好文章  学习了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: