htaccess规则详细介绍

合集下载

".htaccess"解释及几个简单应用

".htaccess"解释及几个简单应用

.htaccess是什么?.htaccess叫分布式配置文件,它提供了针对目录改变配置的方法--- 在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。

并且子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

一般来说,如果你的虚拟主机使用的是Unix系统或Linux系统,或者任何版本的Apache网络服务器,从理论上都是支持" .htaccess"的。

如何建立.htaccess?在我们使用的windows(瘟到死)主机上创建.htaccess文件是很困难的。

写文件倒很容易,你只需要在文字编缉器(例如:记事本)里写下适当的代码。

困难的是文件的保存,因为.htaccess 是一个古怪的文件名,其实它并没有文件名,只有一个由8个字母(htaccess)组成的扩展名,而在windows系统中这是无法接受的文件名。

因此,这里有3个方法可以实现。

方法一:保存文件的时候将文档保存成名为“.htaccess”(包括引号)或者htaccess.txt亦或者1.htaccess。

再将其上传到服务器上,之后直接使用FTP软件来重命名。

方法二:保存文件的时候选择文件—>另存为,保存类型选所有文件,然后文件名输入.htaccess ,这样就OK啦o方法三:直接在你的Unix或Linux虚拟主机上建立。

.htaccess简单应用htaccess是什么?.htaccess是在Apache HTTP Server这款服务器架设软件下的一个对于系统目录进行各种权限规则设置的一个文件,存在于Linux操作系统中。

比较常见的是定义默认首页名称,404页面,301转向,等等,还有更多的功能比如伪静态,限制图片外链,限制下载,密码保护,去除页面广告等等,还有非常多的功能就不一一列举。

其实这些功能大多可以在cPanel控制面板来进行设置的(相当于是.htaccess的图形化界面)。

.htaccess详解

.htaccess详解

.htaccess详解.htaccess是什么.htaccess⽂件(或者"分布式配置⽂件")提供了针对⽬录改变配置的⽅法,即,在⼀个特定的⽂档⽬录中放置⼀个包含⼀个或多个指令的⽂件,以作⽤于此⽬录及其所有⼦⽬录。

作为⽤户,所能使⽤的命令受到限制。

管理员可以通过Apache的AllowOverride指令来设置。

概述来说,htaccess⽂件是Apache服务器中的⼀个配置⽂件,它负责相关⽬录下的⽹页配置。

通过htaccess⽂件,可以帮我们实现:⽹页301重定向、⾃定义404错误页⾯、改变⽂件扩展名、允许/阻⽌特定的⽤户或者⽬录的访问、禁⽌⽬录列表、配置默认⽂档等功能。

启⽤.htaccess,需要修改httpd.conf,启⽤AllowOverride,并可以⽤AllowOverride限制特定命令的使⽤。

如果需要使⽤.htaccess以外的其他⽂件名,可以⽤AccessFileName指令来改变。

例如,需要使⽤.config ,则可以在服务器配置⽂件中按以下⽅法配置:AccessFileName .config 。

笼统地说,.htaccess可以帮我们实现包括:⽂件夹密码保护、⽤户⾃动重定向、⾃定义错误页⾯、改变你的⽂件扩展名、封禁特定IP地址的⽤户、只允许特定IP地址的⽤户、禁⽌⽬录列表,以及使⽤其他⽂件作为index⽂件等⼀些功能。

⼯作原理.htaccess⽂件(或者"分布式配置⽂件")提供了针对每个⽬录改变配置的⽅法,即在⼀个特定的⽬录中放置⼀个包含指令的⽂件,其中的指令作⽤于此⽬录及其所有⼦⽬录。

说明: 如果需要使⽤.htaccess以外的其他⽂件名,可以⽤AccessFileName指令来改变。

例如,需要使⽤.config ,则可以在服务器配置⽂件中按以下⽅法配置: AccessFileName .config 通常,.htaccess⽂件使⽤的配置语法和主配置⽂件⼀样。

四个例子实战讲解.htaccess文件rewrite规则

四个例子实战讲解.htaccess文件rewrite规则

.htaccess 文件大家都不陌生吧。

不认识的自己去搜一下……顺便告诉你,这是个好东西,值得一学。

似乎网上关于.htaccess 编写方法的教程很有限,相信博主们也没有几个是自己写的吧?我在这里就搜了几个常用规则,总结一下rewrite 规则的用法。

当然这只是.htaccess 功能的一小部分,但是相当实用。

如果熟练掌握rewrite 规则的编写,能够加强对网站URL 的控制,对用户体验、SEO 都十分有利。

注:所有规则来源于网络,我只作解释。

一、防盗链功能1234RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(.+.)?/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]逐行讲解一下:1.打开Rewrite 功能。

有可能服务器设置里已经是全局下打开了,但是多写也没事。

2.RewriteCond 指令,定义生效条件,用于寻找匹配条件的地址。

后面内容用正则表达式匹配。

代表含义是发送的请求不由 而来,那就是盗链啦。

末尾的[NC]代表忽略大小写。

3.发送请求的主机前缀不为空。

4.RewriteRule 指令,定义重写规则,把匹配的地址按此规则重写。

本例中把这些后缀为这些图片格式的,都替换到某一个图片下。

[L]表示这是最后一段规则。

只这四行就实现了防盗链是不是很神奇(- -||),编写起来是不是又觉得复杂。

这里总结了几个常用参数(不是全部):RewriteCond 下:[NC] 不分字母大小写[OR] 用于连接下一条规则RewriteRule 下:[R] 强制重定向,[R=code] code 默认为302[F] 禁用URL ,返回HTTP 403 错误[L] 这是最后一条规则,之后内容无用还有一篇关于正则表达式的教程(很详细):/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm二、网址规范化1234Options +FollowSymLinks rewriteEngine on rewriteCond %{http_host} ^ [NC] rewriteRule ^(.*)$ /$1 [R=301,L] 这个是把所有二级域名都重定向到 的例子,现在看来是不是很简单了?需要注意的是,这里的Options +FollowSymLinks 不是必须的,但在某些服务器如果不设置FollowSymLinks ,可能引起500错误。

. htaccess中的写法

. htaccess中的写法

文章标题:深度解析:如何正确使用.htaccess中的写法文章内容:一、介绍.htaccess文件的作用在网络技术中,.htaccess文件是一个Apache服务器的配置文件,它被用来配置服务器的行为。

通常情况下,.htaccess文件会被用来实现URL重写、发送自定义错误页面、限制/允许特定IP位置区域访问全球信息湾等功能。

二、初识.htaccess的语法和结构.htaccess文件的语法比较简单,主要是由一系列指令和参数组成。

在.htaccess文件中,每一条指令都是以Rewrite开头的,其后紧接着是一系列的规则和参数。

要实现URL重写功能,可以使用RewriteRule指令,然后后面跟上具体的重写规则。

三、从简单到复杂:学习.htaccess的基础写法在.htaccess文件中,最常见的用法就是实现URL重写。

通过RewriteRule指令,我们可以将原始URL重写成我们希望的形式。

将动态URL转换为静态URL,或者实现URL路径的重定向等功能。

基础的写法可以通过以下几个简单的例子来体现:1. 实现URL重写在.htaccess文件中,我们可以通过RewriteRule指令来实现URL的重写。

要将动态URL重写为静态URL,可以使用如下的写法:```RewriteEngine OnRewriteRule ^article/([0-9]+)$ /article.php?id=$1 [L]```这条规则表示,将形如/article/123的URL重写为/article.php?id=123的形式。

2. 实现URL路径的重定向除了重写功能,.htaccess文件还可以实现URL路径的重定向。

将所有访问全球信息湾根目录下的文件都重定向到一个新的子目录下,可以用如下的写法:```RewriteEngine OnRewriteRule (.*) /newfolder/$1 [R=301,L]```这条规则表示,将原始URL中的路径都重定向到/newfolder/目录下,并返回301状态码。

.htaccess中的apacherewrite规则写法详解

.htaccess中的apacherewrite规则写法详解

.htaccess中的apacherewrite规则写法详解.htaccess中的apache rewrite写法:1RewriteEngine On2RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$3RewriteCond %{REQUEST_URI} !^/blog/4RewriteCond %{REQUEST_FILENAME} !-f5RewriteCond %{REQUEST_FILENAME} !-d6RewriteRule ^(.*)$ /blog/$17# 没有输⼊⽂件名的默认到到⾸页8RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$9RewriteRule ^(/)?$ blog/index.php [L]下⾯我开始解说⼀下上⾯的意思:【RewriteEngine On】表⽰重写引擎开,关闭off,作⽤就是⽅便的开启或关闭以下的语句,这样就不需要⼀条⼀条的注释语句了。

【RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$】这是重写条件,前⾯%{HTTP_HOST}表⽰当前访问的⽹址,只是指前缀部分,格式是不包括“http://”和“ /”,^表⽰字符串开始,$表⽰字符串结尾,\.表⽰转义的. ,如果不转义也⾏,推荐转义,防⽌有些服务器不⽀持,?表⽰前⾯括号www\.出现0次或1次,这句规则的意思就是如果访问的⽹址是或者 就执⾏以下的语句,不符合就跳过。

【RewriteCond %{REQUEST_URI} !^/blog/】也是重写条件,%{REQUEST_URI}表⽰访问的相对地址,就是相对根⽬录的地址,就是域名/后⾯的成分,格式上包括最前⾯的“/”,!表⽰⾮,这句语句表⽰访问的地址不以/blog/开头,只是开头^,没有结尾$【RewriteCond %{REQUEST_FILENAME} !-f】【RewriteCond %{REQUEST_FILENAME} !-d】这两句语句的意思是请求的⽂件或路径是不存在的,如果⽂件或路径存在将返回已经存在的⽂件或路径【RewriteRule ^(.*)$ /blog/$1】重写规则,最重要的部分,意思是当上⾯的RewriteCond条件都满⾜的时候,将会执⾏此重写规则,^(.*)$是⼀个正则表达的匹配,匹配的是当前请求的URL,^(.*)$意思是匹配当前URL任意字符,.表⽰任意单个字符,*表⽰匹配0次或N次(N>0),后⾯ /blog/$1是重写成分,意思是将前⾯匹配的字符重写成/blog/$1,这个$1表⽰反向匹配,引⽤的是前⾯第⼀个圆括号的成分,即^(.*)$中的.* ,其实这⼉将会出现⼀个问题,后⾯讨论。

.htaccess使用方法介绍

.htaccess使用方法介绍

目录重新和重定向∙强制www∙强制www通用方法∙强制non-www∙强制non-www通用方法∙强制HTTPS∙强制HTTPS 通过代理∙强制添加末尾斜杠∙取掉末尾斜杠∙重定向到一个页面∙目录别名∙脚本别名∙重定向整个网站∙干净的URL安全∙拒绝所有访问∙拒绝所有访问(排除部分)∙屏蔽爬虫/恶意访问∙保护隐藏文件和目录∙保护备份文件和源代码文件∙禁止目录浏览∙禁止图片盗链∙禁止图片盗链(指定域名)∙密码保护目录∙密码保护文件∙通过Referrer过滤访客∙防止被别的网页嵌套性能∙压缩文件∙设置过期头信息∙关闭eTags标志其它∙设置PHP变量∙Custom Error Pages∙强制下载∙阻止下载∙运行跨域字体引用∙Auto UTF-8 Encode∙切换PHP版本∙禁止IE兼容视图支持WebP图片格式重新和重定向注意:首先需要服务器安装和启用mod_rewrite模块。

()强制wwwRewriteEngine onRewriteCond %{HTTP_HOST}^example\.com [NC]Re writeRule ^(.*)$ /$1[L,R=301,NC]强制www通用方法RewriteCond %{HTTP_HOST}!^$RewriteCond %{HTTP_HOST}!^www\. [NC]RewriteCond %{HTTPS}s ^on(s)|RewriteRule ^ http%1://www.% {HTTP_HOST}%{REQUEST_URI}[R=301,L]这种方法可以使用在任何网站中。

Source强制non-www究竟是WWW好,还是non-www好,没有定论,如果你喜欢不带www的,可以使用下面的脚本:RewriteEngine onRewriteCond %{HTTP_HOST}^www\.example\.com [NC]RewriteRule ^(.*)$ /$1[L,R=301]强制non-www通用方法RewriteEngine onRewriteCond %{HTTP_HOST}^www\.RewriteCond %{HTTPS}s^on(s)|offRewriteCond http%1://%{HTTP_HOST}^(https?://)(www\.)?(.+)$ RewriteRule ^ %1%3%{REQUEST_URI}[R=301,L]强制HTTPSRewriteEngine onRewriteCond %{HTTPS}!onRewriteRule (.*)https://%{HTTP_HOST}%{REQUEST_URI}# Note: It's also recommended to enable HTTP Strict Transport Sec urity (HSTS) # on your HTTPS website to help prevent man-in-the-middle attacks.# See https:///en-US/docs/Web/S ecurity/HTTP_strict_transport_security<IfModule mod_headers.c>Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"</IfModule>强制HTTPS 通过代理如果你使用了代理,这种方法对你很有用。

htaccess 高级规则

htaccess 高级规则

htaccess 高级规则在.htaccess文件中,你可以使用一些高级规则来定制你的网站的行为。

以下是一些常见的.htaccess高级规则:1. 错误处理:使用ErrorDocument指令来指定错误页面。

例如,当访问不存在的页面时,可以重定向到自定义的404错误页面。

2. 重定向:使用Redirect或RedirectMatch指令来实现页面或URL的重定向。

这可以帮助你更改网站的URL结构或将旧URL重定向到新URL。

3. 访问控制:使用Order和Allow/Deny指令来限制对特定目录或文件的访问。

你可以根据IP地址、用户代理或请求方法来允许或拒绝访问。

4. 内容过滤:使用AddType和AddHandler指令来指定文件类型和请求的处理程序。

这可以帮助你控制对特定文件类型的访问,例如禁止直接访问PHP文件。

5. 缓存控制:使用Expires和Cache-Control指令来控制页面缓存。

这可以提高网站的加载速度并减少服务器负载。

6. 自定义头部:使用Header指令来设置自定义头部信息,例如设置响应头、设置CORS策略等。

7. 限制请求方法:使用Limit指令来限制对特定目录或文件的请求方法。

例如,只允许GET和POST请求访问某个目录。

8. 防盗链:使用RewriteRule和Header指令来防止其他网站盗链你的资源。

这可以通过检查请求的Referer头来实现。

这些只是.htaccess高级规则的一部分,具体规则取决于你的需求和网站的情况。

在编写规则时,请注意测试和验证规则以确保它们按预期工作,并注意不要过度限制或混淆用户的访问权限。

htaccess常用指令

htaccess常用指令

htaccess常用指令.htaccess常用指令,是一种配置文件,用于Apache服务器的配置。

它能够通过简单的指令实现一些复杂的功能,包括URL重写、网页缓存、权限控制等。

在本篇文章中,将会详细介绍.htaccess常用指令的使用方法和功能。

第一步:创建.htaccess文件首先,我们需要创建一个名为.htaccess的文件。

在Apache服务器中,该文件需要放置在站点根目录中。

如果你使用的是共享主机,可以通过FTP 工具访问站点的服务器,并在站点根目录下创建.htaccess文件。

第二步:重写URLURL重写是.htaccess常用指令中最常见的功能之一。

通过重写URL,我们能够将复杂的URL转换成简洁的形式,以提高用户体验和搜索引擎优化。

以下是常见的URL重写指令:1. RewriteEngine On该指令用于开启URL重写功能。

2. RewriteRule ^old-url new-url [L,R=301]该指令用于将old-url重写为new-url。

其中,^表示URL的起始位置,表示URL的结束位置,[L,R=301]表示该重写规则是最后一条规则,并且使用301永久重定向。

3. RewriteCond {REQUEST_FILENAME} !-dRewriteCond {REQUEST_FILENAME} !-fRewriteRule ^(.*) index.php?url=1 [QSA,L]这组指令是实现前端控制器模式的重写规则。

首先,判断请求的URL不是一个实际存在的目录,也不是一个实际存在的文件;然后,将请求重写到index.php文件,并将URL参数传递给index.php。

第三步:网页缓存.htaccess也可以用来实现网页缓存,从而提高网站的加载速度和用户体验。

以下是常见的缓存指令:1. ExpiresActive OnExpiresByType text/html "access plus 1 week"ExpiresByType image/jpeg "access plus 1 month"ExpiresByType text/css "access plus 1 month"ExpiresByType application/javascript "access plus 1 month"该组指令将为不同类型的文件设置不同的缓存时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

htaccess可以做大量范围的事情,包括:文件夹密码保护、用户自动重新指向、自定义错误页面、变更你的文件扩展名、屏蔽特定的用户IP地址、只允许特定的IP地址、停止目录表以及使用其他文件作为index文件,等等......1. Introduction 介绍文件名 .htaccess 属性644 (RW-R–R–)htaccess会影响它所在目录下的所有子目录注意大多数内容都要求保持在一行之内,不要换行,否则会引起错误2. Error Documents 错误文档Official document: ErrorDocument DirectiveErrorDocument code document例子ErrorDocument 400 /errors/badrequest.htmlErrorDocument 404 http://yoursite/errors/notfound.htmlErrorDocument 401 “Authorization Required”more..less.. (注意之后内容如果出现的双引号需要转义为\”)常见HTTP状态码Successful Client Requests200 OK201 Created202 Accepted203 Non-Authorative Information204 No Content205 Reset Content206 Partial ContentClient Request Redirected300 Multiple Choices301 Moved Permanently302 Moved Temporarily303 See Other304 Not Modified305 Use ProxyClient Request Errors400 Bad Request401 Authorization Required402 Payment Required (not used yet)403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable (encoding)407 Proxy Authentication Required408 Request Timed Out409 Conflicting Request410 Gone411 Content Length Required412 Precondition Failed413 Request Entity Too Long414 Request URI Too Long415 Unsupported Media TypeServer Errors500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout505 HTTP Version Not Supported3. Password Protection 密码保护Official document: Authentication, Authorization and Access Control假设密码文件为.htpasswdAuthUserFile /usr/local/safedir/.htpasswd (这里必须使用全路径名)AuthName EnterPasswordAuthType Basic两种常见验证方式:Require user windix(仅允许用户windix登陆)Require valid-user(所有合法用户都可登陆)Tip: 如何生成密码文件使用htpasswd命令(apache自带)第一次生成需要创建密码文件htpasswd -c .htpasswd user1之后增加新用户htpasswd .htpasswd user24. Enabling SSI Via htaccess 通过htaccess允许SSI(Server Side Including)功能AddType text/html .shtmlAddHandler server-parsed .shtmlOptions Indexes FollowSymLinks IncludesDirectoryIndex index.shtml index.html5. Blocking users by IP 根据IP阻止用户访问order allow,denydeny from 123.45.6.7deny from 12.34.5. (整个C类地址)allow from all6. Blocking users/sites by referrer 根据referrer阻止用户/站点访问需要mod_rewrite模块例1. 阻止单一referrer: RewriteEngine on# Options +FollowSymlinksRewriteCond %{HTTP_REFERER} badsite\.com [NC]RewriteRule .* - [F]例2. 阻止多个referrer: , RewriteEngine on# Options +FollowSymlinksRewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR]RewriteCond %{HTTP_REFERER} badsite2\.comRewriteRule .* - [F][NC] - 大小写不敏感(Case-insensite)[F] - 403 Forbidden注意以上代码注释掉了”Options +FollowSymlinks”这个语句。

如果服务器未在httpd.conf 的段落设置FollowSymLinks, 则需要加上这句,否则会得到”500 Internal Server erro r”错误。

7. Blocking bad bots and site rippers (aka offline browsers) 阻止坏爬虫和离线浏览器需要mod_rewrite模块坏爬虫? 比如一些抓垃圾email地址的爬虫和不遵守robots.txt的爬虫(如baidu?)可以根据HTTP_USER_AGENT 来判断它们(但是还有更无耻的如”中搜”之流把自己的agent设置为“Mozilla/4.0 (compatible; MSIE 5.5; Window s NT 5.0)” 太流氓了,就无能为力了) RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@ [OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^ZeusRewriteRule ^.* - [F,L][F] - 403 Forbidden[L] - ?8. Change your default directory page 改变缺省目录页面DirectoryIndex index.html index.php index.cgi index.pl9. Redirects 转向单个文件Redirect /old_dir/old_file.html /new_dir/new_file.html整个目录Redirect /old_dir /new_dir效果: 如同将目录移动位置一样/old_dir -> /new_dir/old_dir/dir1/test.html -> /new_dir/dir1/test.htmlTip: 使用用户目录时Redirect不能转向的解决方法当你使用Apache默认的用户目录,如/~windix,当你想转向/~windix/jump时,你会发现下面这个Redirect不工作: Redirect /jump 正确的方法是改成Redirect /~windix/jump (source: .htaccess Redirect in “Sites” not redirecting: why?)10. Prevent viewing of .htaccess file 防止.htaccess文件被查看order allow,denydeny from all11. Adding MIME Types 添加MIME 类型AddType application/x-shockwave-flash swfTips: 设置类型为application/octet-stream 将提示下载12. Preventing hot linking of images and other file types 防盗链需要mod_rewrite模块RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www/\.)?/.*$ [NC] RewriteRule \.(gif|jpg|js|css)$ - [F]解析:若HTTP_REFERER 非空(来源为其他站点,非直接连接) 并且若HTTP_REFERER 非(www.)开头(忽略大小写[NC]) (来源非本站) 对于所有含有 .gif/.jpg/.js/.css 结尾的文件给出403 Forbidden 错误[F]也可指定响应,如下例显示替换图片RewriteRule \.(gif|jpg)$[R,L][R] - 转向(Redirect)[L] - 连接(Link)13. Preventing Directory Listing 防止目录列表时显示IndexIgnore *IndexIgnore *.jpg *.gifTips:允许目录列表显示: Options +Indexes禁止目录列表显示: Options -Indexes显示提示信息: 页首文件HEADER, 页尾文件README。

相关文档
最新文档