`
inosin
  • 浏览: 90886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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页面的内容。

3
0
分享到:
评论
1 楼 cxh116 2012-01-07  
好文章  学习了

相关推荐

    lighttpd简单配置

    - 正常情况下会返回HTTP状态码200和一些基本的头部信息。 以上就是从标题“lighttpd简单配置”以及描述中提到的知识点的具体展开和详细说明。通过上述步骤,新手朋友们应该能够顺利完成lighttpd的基本安装和配置...

    搭建lighttpd+cgi的代码包

    压缩包文件`lighttpd_cgi`可能包含示例CGI脚本、lighttpd配置示例以及其他辅助文件,用于帮助初学者更好地理解和实践lighttpd与CGI的结合使用。解压并研究这些文件,可以帮助你深入理解这一过程。 总结,通过上述...

    lighttpd性能优化

    具体来说,通过合理配置FastCGI后端的数量、使用缓存技术、优化数据库查询等方式,可以有效提升整体性能。此外,利用Lighttpd内置的统计工具对服务器负载情况进行实时监测也是十分重要的。这些方法不仅适用于PHP后端...

    Lighttpd源码分析.zip

    5. **响应生成模块**:构建并发送HTTP响应,包括状态码、响应头和响应体。Lighttpd支持多种内容编码和缓存策略,优化了资源传输效率。 6. **安全模块**:包括身份验证、访问控制和防止攻击的机制,如防盗链、速率...

    Lighttpd优化指南

    本指南旨在帮助系统管理员及开发人员通过优化Lighttpd配置来提升FastCGI性能,尤其是针对PHP应用的服务能力。 #### FastCGI性能优化 当你面临“我的网站需要多少个PHP后端?”或者“为什么我的应用会偶尔返回500...

    Etag和Expires.docx

    如果服务器上的文件自上次请求后未被修改,服务器将返回304 Not Modified状态码,客户端则直接从本地缓存中获取资源,避免了不必要的数据传输。 然而,Last-Modified存在一些局限性,例如文件的修改时间可能无法...

    实战Nginx.取代Apache的高性能Web服务器.2010

    - **return指令**:直接返回指定的状态码或重定向到另一个URL。 - **rewrite指令**:用于执行重写操作。 - **set指令**:用于设置变量值。 - **uninitialized_variable_warn指令**:控制未初始化变量的行为。 -...

    http服务器傻瓜安装软件

    响应中通常包括所请求的网页内容、状态码以及可能的重定向信息。 这款"http服务器傻瓜安装软件"可能包含了以下功能: 1. 自动配置:安装过程中,软件可能会自动识别系统环境,配置必要的网络设置,如端口号(默认...

    嵌入式WEB服务器BOA.rar

    用户可以通过浏览器访问设备的IP地址来查看或配置设备状态。其工作原理包括解析HTTP请求头,执行CGI脚本(如果支持),以及返回静态HTML文件或数据。 BOA的安装过程相对简单,通常需要在嵌入式系统的命令行环境中...

    httpserver

    服务器接收到请求后,解析这些信息,找到对应的资源,然后将资源以HTTP响应的形式返回给客户端,响应中包含状态码、头部信息和可能的响应体(如HTML、图片或文件内容)。 二、HTTP方法 HTTP协议定义了多种方法,...

    HTTPServer.zip.zip

    - HTTP响应:服务器对请求的回应,包含状态码(如200表示成功,404表示未找到)、头部信息和响应主体。 3. **HTTP协议版本**: - HTTP/1.0:基本的HTTP协议版本,支持短连接,每个请求都会建立新的TCP连接。 - ...

    webserver

    4. **构建响应**:服务器将获取到的内容打包成HTTP响应,包括状态码(如200表示成功,404表示未找到等)、响应头和响应体。 5. **发送响应**:服务器将HTTP响应通过网络发送回客户端。 6. **关闭连接**:一旦客户端...

    Web安全面试题及答案

    通过尝试访问不同大小写的URL路径,可以根据返回的状态码判断服务器类型。 #### 十、为何一个MySQL数据库的站,只有一个80端口开放? 1. **端口更改**: 数据库端口可能已经被更改为其他端口。 2. **站库分离**: ...

    HTTP SERVER

    服务器接收到请求后,解析请求内容,根据请求的方法执行相应的操作,然后返回HTTP响应,包括状态码、头部信息和响应体(如网页内容)。 2. 处理请求:HTTP服务器收到请求后,通常会解析URL,确定处理请求的脚本或...

    Web服务器

    找到资源后,服务器将其内容打包成HTTP响应,附带状态码(如200表示成功,404表示未找到)和响应头,回送给客户端。 Web服务器的核心功能包括: 1. **连接管理**:处理来自客户端的连接请求,通常Web服务器会支持...

    libcurl功能和使用介绍

    ##### 3.4 `curl_easy_perform` 函数说明(error 状态码) `curl_easy_perform` 用于执行已经配置好的易用会话句柄。如果操作成功,该函数将返回 0;如果失败,则返回非零值。常见的错误状态码包括: - **CURLE_OK...

Global site tag (gtag.js) - Google Analytics