首页 > 服务器 > 管理维护 > 正文

httpd.conf文件注释及配置指导

2024-09-10 14:18:52
字体:
来源:转载
供稿:网友

开始之前:

1、配置和写文件名时注意:如果您给出文件名以"/"开头,则服务器会用绝对目录。

2、如果给出的文件名不以"/"开头,如:"logs/foo.log",
  而当前服务器跟目录是"/usr/local/apache/",
  那么服务器就会认为这个log文件在这里:"/usr/local/apache/logs/foo.log"

3、注意:在整个配置过程中所有的文件名中都要用斜线"/",而不用反斜线"""。
  如:用 "c:/apache" 而不用 "c:apache" , 这里跟DOS不一样.

Apache服务器的配置指令别分成三个相对集中的部分
1. 配置Apache服务器在整个运行过程中的环境变量.
2. 配置主服务器或默认服务器运行时的详细接口参数.
3. 设置虚拟服务器,使得在同一个Apache服务器上可完成不同IP地址或不同主机名的web请求 (即:一台物理上的服务器可被设置为有很多个IP地址或很多个主机名的虚拟服务器)
----------------------------------------

第一部分: 环境设定

# 设置服务器的的启动方式:独立启动(standalone),还是借由互联网络伺服程序inetd来启动。
# 缺省值是使用独立启动(standalone)。
ServerType standalone

# 设置服务器目录,用来存放服务器的配置文件、错误文件、记录文件的目录。
# 注意:在目录的最后不能再加斜线"/" 。
ServerRoot "C:/Apache"

# 服务程序启动时,它把父程序 httpd 的程序码(process id)存往这个
# log/httpd.pid 文件。这个文件名称可以配合 PidFile 指令加以改变.
PidFile logs/httpd.pid

# 设置Apache服务器执行程序的记录文件。
ScoreBoardFile logs/apache_status

# 下面这两项看个人的喜好,如果您觉得httpd.conf文件太长,不好找到需要的东西。
# 那么您可以将所需的设置放在srm.conf中(它只有几行),然后在下面打开它:
# 下面的两个设置,在标准配置中是打开的,我们可以不打开它.
# 去除下一行前面的"#" , 启用srm.conf
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

# 服务器与客户端的最大等待时间
# 如果客户端在300秒还没有连上,或者服务器300秒还没有传送数据到客户端,就会自动断线。Timeout 300

# 设置是否支持续传功能.缺省是支持
KeepAlive On

# 设置支持续传功能的数目。数目越多则浪费的硬盘空间越多, 性能也越好。
# 设置为0则没有限制。
MaxKeepAliveRequests 100

# 设置保持续传的最大等待时间
# 如果连接上的某位使用者在15秒后还没有向服务器发出要求,则他不能使用续传功能。
KeepAliveTimeout 15

# 设置同时间内子进程数目,为了安全,设置为零.
MaxRequestsPerChild 0

# 设置服务器使用进程的数目。
# 这是以服务器的响应速度为准的, 数目太大则会变慢.
ThreadsPerChild 50

# 允许使用另外的Port或IP地址访问服务器. 您可以打开它。
#Listen 3000
#Listen 12.34.56.78:80

# 设置Apache监听的IP地址,这也是您在本机上的虚拟服务器的IP地址.
BindAddress 127.0.0.1

# 打开当前未激活预定义的模块,这里除非您真的需要,否则不要更改它
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll

# 设置服务器产生的状态信息。如果设置为"On",则产生详细的信息.
#ExtendedStatus On

-----------------------------------

第二部分  详细接口参数设定

# 设置服务器独立使用时监听的端口。
Port 80

# 设置服务器管理者的E-Mail地址.
ServerAdmin siron@phpstar.com

# 服务器的主机名。如果你有固定的IP地址,则不需要设置
ServerName localhost

# 设置存放站点html文件的目录
DocumentRoot "C:/Apache/htdocs"

# 设置/目录的指令。具体说明如下:
#   Option:定义在目录内所能执行的操作。
#       None表示只能浏览.
#       FollowSymLinks允许页面连接到别处,
#       ExecCGI允许执行CGI,
#       MultiViews允许看动画或是听音乐之类的操作,
#       Indexes允许服务器返回目录的格式化列表,
#       Includes允许使用SSI。
#   这些设置可以复选。All则可以做任何事,但不包括MultiViews。
# AllowOverride:
#       加None参数表示任何人都可以浏览该目录下的文件,但不会读取该文件。
#       FileInfo 允许控制文件型态之指令的使用,
#       AuthConfig 允许验认指令的使用,
#       Indexes 允许控制目录索引之指令的使用,
#       Limit 允许控制存取主机之指令的使用,
#       Options 允许控制特定目录特色之指令的使用.
#       设为 All 的话服务器将会允许所有的指令.

  ptions FollowSymLinks
  AllowOverride None


# 定义首先显示的文件。
# 您可以这样更改 DirectoryIndex index.html index.htm
DirectoryIndex index.html

# 定义每个目录访问控制文件的名称
AccessFileName .htaccess

# 定义代理服务器不要缓存你的页面. 缺省不使用.
#CacheNegotiatedDocs

# 这个指令设定 mime 型态配置档所在的位置,
# 文件名称是相对于 ServerRoot 的, 不建议变更这个文件.
TypesConfig conf/mime.types

# 服务器会将错误讯息记录到一个记录档去,
# 文件名称可以藉由 ErrorLog 指令设定.
# 可以为不同的虚拟主机设定不同的错误记录
ErrorLog logs/error.log

# 设定记录档的格式
LogFormat "%h %l %u %t ""%r"" %>s %b" common
.
.
.

# Alias 指令使文件可以存放在 DocumentRoot 之外的本地文件系统里
# ScriptAlias 指令与 Alias 指令相同, 只不过它还标记改目录包含CGI或PHP指令文件
# AddType 指令以指定的内容型态作为该文件名称结尾的文件的副文件名
Alias /icons/ "C:/Apache/icons/"
Alias /test/ "c:/php/test/"
Alias /admin/ "c:/admin/phpMyAdmin/"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php3 .php3
Action application/x-httpd-php "/php/php.exe"

# AddIcon, AddIconByEncoding and AddIconByType 都
# 是用来设定显示不同文件型态所使用的图示列表;对於每种列
# 出的文件型态,显示列出的第一个符合的图示。
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe

# 缺省的文件图示
DefaultIcon /icons/unknown.gif

# 有问题或错误发生的状况下,可以配置Apache做四种反应
# 1. 输出自定的(customized)讯息(文本)
#ErrorDocument 500 "The server made a boo boo.
# 2. 重导到某个本地的 URL 以处理该问题/错误
#ErrorDocument 404 /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# 3. 重导到某个外部的 URL 以处理该问题/错误
#ErrorDocument 402 http://some.other_server.com/subscription_info.html

 

 

 

===========================

########01.常规设置

# Listen
# 监听端口, 例: Listen 80

# ServerRoot
# Apache 所在目录, 例: ServerRoot "C:/Program Files/Apache Group/Apache2" (WINDOWS)

# ServerAdmin
# 错误报告邮箱, 例: ServerAdmin btbtd@yahoo.com.cn

# DocumentRoot
# 站点根目录, 例: DocumentRoot "I:/gi-2288"

# DirectoryIndex
# 配置目录索引文件,
# 例: DirectoryIndex index.php index.php3 index.html index.htm

# ServerName
# 服务器域名/IP地址, 例: ServerName gi.2288.org

# DefaultLanguage
# 为所有指令作用域范围内的文件设定某一特定的缺省语言
# 语法: DefaultLanguage MIME-lang, 例: DefaultLanguage zh-CN

# AddDefaultCharset
# 在没有进行指定字符集的情况下向回应中加入的默认字符集, 默认值: AddDefaultCharset Off
# 例: AddDefaultCharset utf-8, 语法: 语法: AddDefaultCharset On|Off|字符集

# AddHandler
# 在文件扩展名与特定的处理器间建立映射, 例: AddHandler cgi-script .cgi .pl
# 语法: AddHandler handler-name extension

# AccessFileName
# 定义配置文件, 例: AccessFileName .htaccess
# 当向客户端返回文档时,如果设置了此目录的发布配置文件功能。
# 服务器将在这个文档的各个路径中从名字列表中查找第一个存在的配置文件。

# Timeout
# 超时时间, 例: Timeout 300

# TypesConfig
# 指定mime.types文件的位置, 默认: TypesConfig conf/mime.types

# DefaultType
# DefaultType MIME类型,
# 有时会发生这样的事:服务器会被要求提供一个文档,而这个文档的类型无法由它的MIME类型映射所决定。
# 服务器必须通知客户端其文档的内容类型。
# 所以当一个未知类型出现时,将会使用DefaultType。
# 例: DefaultType image/gif

# HostnameLookups
# 启用对客户端IP的DNS查找, 语法: HostnameLookups on|off|double

# ErrorLog
# 定位服务器存放错误日志的位置, 例: ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"

# LogLevel
# 控制错误日志的级别, 默认值: LogLevel warn
# emerg  紧急 - 系统无法使用。
# alert  必须立即采取措施。
# crit  致命情况。
# error  错误情况。
# warn  警告情况。
# notice  一般重要情况。
# info  普通信息。
# debug  出错级别信息

# CustomLog
# 设定日志的文件名和格式, 默认: CustomLog logs/access.log common

# ServerTokens
# 配置服务器HTTP回应头, 默认: ServerTokens Full

# ServerTokens Prod[uctOnly], 服务器会发送(比如说):Server:Apache

# ServerTokens Major, 服务器会发送(比如说):Server:Apache/2

# ServerTokens Minor, 服务器会发送(比如说):Server:Apache/2.0

# ServerTokens Min[imal], 服务器会发送(比如说):Server:Apache/2.0.41

# ServerTokens OS, 服务器会发送(比如说):Server: Apache/2.0.41 (Unix)

# ServerTokens Full (or not specified),

# 服务器会发送(比如说):Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2


# MaxSpareServers
# 设置apache的最大空闲进程数
# 语法: MaxSpareServers number
# 默认: MaxSpareServers 100
# 例: MaxSpareServers 1000

# MaxKeepAliveRequests
# 设置每个连接的最大请求数
# 语法: MaxKeepAliveRequests number
# 默认值: MaxKeepAliveRequests 100


# ServerSignature
# 配置服务器生成页面的页脚, 默认值: ServerSignature Off
# 语法: ServerSignature On|Off|EMail

# 应用:
# Listen 80
# ServerRoot "C:/Program Files/Apache Group/Apache2"
# ServerAdmin btbtd@yahoo.com.cn
# DocumentRoot "I:/gi-2288"
# DirectoryIndex index.php index.php3 index.html index.htm
# ServerName gi.2288.org
# DefaultLanguage zh-CN
# AddDefaultCharset utf-8
# AddDefaultCharset Off
# AddHandler cgi-script .cgi .pl
# AccessFileName .htaccess
# Timeout 300
# TypesConfig conf/mime.types
# ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"
# LogLevel warn
#  CustomLog logs/access.log common
# ServerTokens Prod[uctOnly]
# ServerSignature Off

 


########02. <VirtualHost *:80> 虚拟主机

# Listen 80
# 设定监听端口

# NameVirtualHost 192.168.1.2:80
# 名字/端口型 虚拟主机

# <VirtualHost *:88>
# </VirtualHost>
# 虚拟主机段

# ServerAdmin btbtd@yahoo.com.cn
# 联系管理会用的信箱
# DocumentRoot "I:/gi-2288"
# 站点根目录
# ServerName gi.2288.org
# 域名
# ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"
# 错误日志 # 日志记录是好东西,注意查看日志记录
# ------------以上是虚拟主机内容

# 完整应用:
# Listen 80
# NameVirtualHost 192.168.1.2:80
# <VirtualHost *:88>
# ServerAdmin btbtd@yahoo.com.cn                    
# DocumentRoot "I:/gi-2288"                         
# ServerName gi.2288.org 
# </VirtualHost>

 


########03. <Directory> + Alias

# 语法: <Directory 目录路径> ... </Directory>
# 封装一组指令,使之仅对具有某个名字的文件系统目录及其子目录起作用。

# 不允许目录浏览, 例:
# Alias /document "J:/Document/"
# <Directory "J:/Document/">
#  Options FollowSymLinks
#  AllowOverride none
#  Order allow,deny
#  Allow from all
# </Directory>

# 允许目录浏览, 例:
# Alias /document "J:/Document/"
# <Directory "J:/Document/">
#  Options Indexes
#  AllowOverride none
#  Order allow,deny
#  Allow from all
# </Directory>

# Allow & Deny

# Allow和Deny指令可以允许或拒绝来自特定主机名或主机地址的访问,
# 同时,Order指令告诉Apache处理这两个指令的顺序, 以改变过滤器。

 

# Allow
# 允许所有地址的访问, 例: Allow from all

# 只允许特定IP地址访问目录, 例: Allow from 205.252.46.165

# 只允许特定域名地址访问目录, 例: Allow from www.google.com

# 只允许特定IP 段访问, 例: Allow from 10.10.10.0/255.255.0.0

 

# Deny
# 拒绝所有地址访问目录, 例: Deny from all

# 拒绝特定域名访问目录, 例: Deny from www.google.com

# 拒绝特定IP访问目录, 例: Deny from 218.15.84.152

# 拒绝某个IP段访问上当, 例: Deny from 10.10.10.0/255.255.0.0

 

# Allow & Deny 混合使用

# 拒绝所有地址的访问, 但接受 Google 的访问, 例:
# <Directory "J:/Document/">
#  Options FollowSymLinks
#  Order Deny, Allow
#  Deny from all
#  Allow from www.google.com
# </Directory>

# 接受所有地址的访问, 但拒绝 Google 的访问, 例:
# <Directory "J:/Document/">
#  Options FollowSymLinks
#  Order Deny, Allow
#  Deny from www.google.com
#  Allow from all
# </Directory>

 

# Options

# 语法: Options [+|-]可选项 [[+|-]可选项] ...

# 配置在特定目录使用哪些特性,
# Options指令控制了在特定目录中将使用哪些服务器特性。
# 可选项能设置为None,在这种情况下,将不启用任何额外特性。
# 或设置为以下选项中的一个或多个:

# All, 除MultiViews之外的所有特性。这是默认设置。

# ExecCGI, 允许执行CGI脚本.

# FollowSymLinks, 服务器会在此目录中使用符号连接。
# 注意:即便服务器会使用符号连接,但它不会改变用于匹配<Directory>配置段的路径名。
# 注意:如果此配置位于<Location>配置段中,则此设置会被忽略。

# Includes, 允许服务器端包含。

# IncludesNOEXEC,允许服务器端包含,但禁用#exec命令和#exec CGI。
# 但仍可以从ScriptAliase目录使用#include 虚拟CGI脚本。

# Indexes, 如果一个映射到目录的URL被请求,
# 而此目录中又没有DirectoryIndex(例如:index.html.zh-cn.gb2312),
# 那么服务器会返回一个格式化后的目录列表。

# MultiViews,允许内容协商的多重视图。

# SymLinksIfOwnerMatch, 服务器仅在符号连接与其目的目录或文件拥有者具有同样的用户id时才使用它。
# 注意:如果此配置出现在<Location>配置段中,此选项将被忽略。

 


# AllowOverride

# 语法: AllowOverride All|None|指令类型 [指令类型] ...
# 说明: 允许存在于.htaccess文件中的指令类型

# 当服务器发现了一个.htaccess文件(由AccessFileName指定)时,
# 它需要知道在这个文件中声明的哪些指令能覆盖在此之前指定的访问信息。

# AllowOverride仅在<Directory>小节中才是有效的。在<Location>或<Files>小节中都是无效的。

# 如果此指令设置为None,那么.htaccess文件将被完全忽略。
# 在这种情况下,服务器甚至都不会试着从文件系统读取.htaccess文件。
# 当此指令设置为All时,所有具有.htaccess 上下文的指令都允许出现在.htaccess文件中。

 

########4. .htaccess

# 提示:允许使用 .htaccess 文件将会导致服务性能的下降。
# 另外,每次请求一个页面时,都需要读取.htaccess文件。

# 开启 .htaccess 支持必须 这样设置  AllowOverride all, 例:

# Alias /v "J:/pwd/"
# <Directory "J:/pwd/">
#  Options Indexes
#  AllowOverride all
#  Order allow,deny
#  Allow from all
# </Directory>

# 如果网络站点上有些敏感信息或只希望为一个小群体所访问,
# 这里介绍几个方法确保使用户只能访问允许被访问的资源。

# 通常在 <Directory> 段或针对单个目录的配置文件(.htaccess files)。
# 如果希望使用 .htaccess 文件, 则必须设置服务器以允许在这些文件中使用认证指令,
# 即,用 AllowOverride 指令 指定哪些指令在针对单个目录的配置文件中有效。

# 用密码来保护服务器上的目录, 首先需要建立一个密码文件。
# 这个文件可以放在不能被网络访问的位置,以避免被下载,

# 例如: G:Apache 以外的空间不能被网络访问,
# 那么可以考虑把密码文件放在 G:Apached 目录中。

# Apache在其安装目录的 bin 子目录中提供了叫 htpasswd 的工具,

# 以建立密码文件,可以这样使用:
# (先切换到Apache 安装目录, 例: C:Program FilesApache GroupApache2in)

# 在命令行输入: htpasswd -c G:/Apache/passwords E

# (这样就建立了一个用户 E, 具体按自己需要设置用户和密码)
# 接着会要求你输入密码, 然后再输入一次,检验密码.

# 这样在 G:Apache 就多了一个 passwords 文件(没有后缀名)

# Windows 下的话会用 MD5 加密密码.

# 然后在要 设置权限的目录里建立一个 .htaccess 文件,

# .htaccess 文件的内容是:
# AuthType Basic
# AuthName "Restricted Files"
# AuthUserFile G:/Apache/passwords
# Require user E

# 演示页面: http://gi.2288.org:88/v
# 用户: E 密码:testhtpasswd

# 注: 目录必须允许 AllowOverride all ,这样 .htaccess 文件才能生效.

 

########5. Log

# Apache 的日志文件可以提供非常多的信息, 很有必要了解这些日志

# C:Program FilesApache GroupApache2logs (Windows 中的日志文件存放处)
# access.log(访问日志,了解客户端所访问的内容) & error.log(错误日志)

# 自定义日志格式

# mod_log_config
# 状态: Base
# 说明: 将对服务器发起的请求记录到日志
# 默认: CustomLog logs/access.log common

# 推荐设置:
# CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""


# LogFormat
# 默认值: LogFormat "%h %l %u %t ""%r"" %>s %b"
# 语法: LogFormat format|nickname [nickname]
# 说明: 定义日志文件里的记录格式
# 例: LogFormat "%v %h %l %u %t ""%r"" %>s %b" vhost_common


# CustomLog
# 状态: Base
# 语法: CustomLog file|pipe format|nickname [env=[!]environment-variable]
# 说明: 设定日志的文件名和格式
# 例: CustomLog logs/access_log "%h %l %u %t ""%r"" %>s %b"


# ErrorLog
# 语法: ErrorLog 文件路径|syslog[:facility]
# 默认值: ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
# 说明: 定位服务器存放错误日志的位置
# 例: ErrorLog "G:/Apache/dummy-gi.2288.org.88-error_log"


# CookieLog
# 语法: CookieLog filename
# 说明: 设定针对cookies的日志文件名
# 模块: mod_log_config


# RewriteLog
# 语法: RewriteLog file-path
# 说明: 设置重写引擎日志的文件名
# 模块: mod_rewrite
# 例: RewriteLog "/usr/local/var/apache/logs/rewrite.log" (Unix/Linux)
# RewriteLog "G:/Apache/rewrite.log" (Windows)


# 一些常见的格式串如下所示:

# 能用日志格式(CLF): "%h %l %u %t ""%r"" %>s %b"

# 带虚拟主机的通用日志格式: "%v %h %l %u %t ""%r"" %>s %b"

# NCSA扩展/组合日志格式: "%h %l %u %t ""%r"" %>s %b ""%{Referer}i"" ""%{User-agent}i"""

# Referer日志格式: "%{Referer}i -> %U"

# Agent (Browser)日志格式: "%{User-agent}i"

 

########6.URL Rewrite

# 注意:根据你的服务器配置,可能有必要对例子作些微修改,
# 比如,新启用 mod_alias 和 mod_userdir 时要增加[PT]标志,
# 或者重写 .htaccess 而不是单个服务器中的规则集。
# 对一个特定的规则集应该首先去理解而后再去用以避免出问题。

# 重写语法
# RewriteEngine on
# RewriteRule   ^/$  /www/  [R]


# 一般重写方法

# 重写页面:http://gi.2288.org:88/modules/news/index.php 
# RewriteRule /modules/news/index.htm$ /modules/news/index.php
# 完成页面: http://gi.2288.org:88/modules/news/index.htm

# 重写页面: http://gi.2288.org:88/modules/news/index.php?storytopic=2
# RewriteRule /modules/news/topic_(.*).htm$ /modules/news/index.php?storytopic=$1
# 完成页面: http://gi.2288.org:88/modules/news/topic_2.htm

# 重写页面:http://gi.2288.org:88/index.php?storytopic=2start=10
# RewriteRule /topic(.*)-(.*).htm$ /index.php?storytopic=$1&start=$2
# 完成页面: http://gi.2288.org:88/topic2-2.htm

# 注: 每增加一个重写ID,必须累加$1
# 比如页面: http://gi.2288.org:88/ct=2x=10y=20
# 可以这样重写:
# RewriteRule /ct(.*)-(.*)-(.*).htm$ /ct=$1x=$2y=$3
# 效果: http://gi.2288.org:88/ct2-10-20.htm


# 移动宿主目录到不同的网站服务器

# 说明:
# 通常,许多网管在建立一个新的网站服务器时,都会有这样的要求:
# 重定向一个网站服务器上的所有宿主目录到另一个网站服务器

# 方案:
# 很简单,用mod_rewrite。在老的网站服务器上重定向所有的URL
# /~user/anypath到http://newserver/~user/anypath

# RewriteEngine on
# RewriteRule   ^/~(.+)  http://newserver/~$1  [R,L]


# 依赖于浏览器的内容

# 说明:
# 至少对重要的顶级页面,有时候有必要提供依赖于浏览器的最佳的内容,
# 即对最新的Netscape提供最大化的版本,对Lynx提供最小化的版本,
# 而对其他的浏览器则提供一个功能一般的版本。

# 方案:
# 对此,内容协商无能为力,因为浏览器不提供其那种形式的类型,
# 所以只能在HTTP头"User-Agent"上想办法。
# 以下规则集可以完成这个操作:
# 如果HTTP头"User-Agent"以"Mozilla/3"开头,
# 则页面foo.html 被重写为foo.NS.html ,而后重写操作终止;
# 如果是"Lynx"或者版本号为1和2的"Mozilla",则重写为foo.20.html ;
# 而其他所有的浏览器收到的页面则是foo.32.html :

# RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/3.*
# RewriteRule ^foo.html$         foo.NS [L]

# RewriteCond %{HTTP_USER_AGENT}  ^Lynx/.*  [OR]
# RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/[12].*
# RewriteRule ^foo $         foo.20   [L]

# RewriteRule ^foo $         foo.32   [L]


# 阻止Robots

# 说明:
# 如何阻止一个完全匿名的robot取得特定网络区域的页面?
# 一个/robots.txt文件可以包含若干"Robot Exclusion Protocol(robot排除协议)"的行,
# 但不足以阻止此类robot。

# 方案:
# 可以用一个规则集以拒绝对网络区域/~quux/foo/arc/
# (对一个很深的目录区域进行列表可能会使服务器产生很大的负载)的访问。
# 还必须确保仅阻止特定的robot,就是说,仅仅阻止robot访问主机是不够的,
# 这样会同时也阻止了用户访问该主机。为此,就需要对HTTP头的User-Agent信息作匹配。

# RewriteCond %{HTTP_USER_AGENT}   ^NameOfBadRobot.*
# RewriteCond %{REMOTE_ADDR}       ^123.45.67.[8-9]$
# RewriteRule ^/~quux/foo/arc/.+   -   [F]


# 防止盗链图片

# 说明:
# 假设,http://gi.2288.org:88/myalbum/有一些内嵌图片的页面,
# 这些图片很好,所以就有人用超链连到他们自己的页面中了。
# 由于这样徒然增加了我们的服务器的流量,因此,我们不愿意这种事情发生。

# 方案:
# 虽然,我们不能100%地保护这些图片不被写入别人的页面,
# 但至少可以对发出HTTP Referer头的浏览器加以限制。

# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !^http://gi.2288.org:88/myalbum/.*$ [NC]
# RewriteRule .*.gif$        -     [F]

# RewriteCond %{HTTP_REFERER}         !^$
# RewriteCond %{HTTP_REFERER}         !.*/foo-with-gif.html$
# RewriteRule ^inlined-in-foo.gif$ -   [F]

 

########其他

# 禁止盗链
# SetEnvIfNoCase Referer "^http://gi.2288.org:88/" local_ref=1
# <FilesMatch ".(gif|jpg|png|jpeg|zip|rar|exe|swf|txt)">
#  Order Allow,Deny
#  Allow from env=local_ref
# </FilesMatch>

# 加载 PHP 5
# LoadModule php5_module c:phpphp5apache2.dll
# #AddModule mod_php4.c
# AddType application/x-httpd-php .php
# ScriptAlias /php/ "c:/php/"
# AddType application/x-httpd-php .php
# Action application/x-httpd-php "/php/php-cgi.exe"

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表