·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

Discuz!Apache环境伪静态规则高级用法:伪静态重定向 防盗链 限制下载 文件保护等

348 2
发表于 2021-9-6 22:21:28 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Discuz!Apache环境伪静态规则高级用法:伪静态重定向 防盗链 限制下载 文件保护等:

301全站跳转
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.old\.net$ [NC]
RewriteRule ^(.*)$ http://www.new\.net/$1 [L,R=301,NC]
其中 http://不能省略,不然出现绝对路径加在跳转重写前面的
.htaccess 正则表达式
# 位行首表示注释
[F] Forbidden (禁止):
    命令服务器返回403 Forbiden 错误给用户浏览器

[L] Last rule (最后一条规则)
    告诉服务器在本条规则执行完后停止重写URL

[N] Next (下一条规则)
    告诉服务器继续重写,指导所有重写指令都执行过

[G] Gone (丢失)
    命令服务器返回410 GONE(no longer exists)错误消息

[P] Proxy (代理)
    告诉服务器通过mod_proxy模块处理用户请求

[C] Chain (捆绑)
    告诉服务器将当前的规则和前面的规则进行捆绑

[R] Redirect(重定向)
    告诉服务器发出重定向消息,以便用户浏览器发出rewitten/modified(重写/修改) 请求

[NC] No Case(不区分大小写)
    对客户端请求的URL不区分大小写

[PT] Pass Through(放行)
    让mod_rewrite 模块将重写的URL传回给Apache做进一步处理

[OR] Or(逻辑或)
    用逻辑“或”将两个表达式连接在一起,如果结果为“真”,则会应用后继的相关规定

[NE] No Escape (禁止转义)
    命令服务器在输出时禁用转义字符

[NS] No Subrequest(禁用子请求)
    如果存在内部请求,则跳过当前命令

[QSA] Append Query String(追加查询字符串)
    命令服务器在URL末尾追加查询字符串

[S=x] Skip(跳过)
    如果满足某指定条件,则跳过后面第X条规则

[E = Variable:value](环境变量)
    命令服务器交将值 value赋给变量 variable

[T=MIME-type] Mime Type (MIME 类型)
    声明目标资源所属的MIME类型

[]
  匹配一个字符集,如[xyz]可以匹配x,y或者z

[^]
   如:[xyz]+ 会以任何顺序,次数匹配x,y,z的出现

[a-z]
    连字符(-)表示匹配从字母a到z的所有字符串

a{n}
    指定字母a出现的次数为N次,满足该条件时匹配。如x{3}仅与xxx匹配

a{n,}
    指定字母a出现的次数至少为N次,例如X{3}可以与XXX或者xxxxx等级匹配

a{n,m}
    指定a出现的次数至少为n到m次   

()
  用于将正则表达式分组,满足第一组正则表达式的字符串会被存储在变量$1中,以此类推。如果括号呈的不是正则表达式,例如(myname)?press 将能够匹配有或者没有myname前缀的press

^
位于行首。注意:和中括号中的[^]意义不同

$
位于行末

?
  例如 world?会匹配world或者worldx,而如 wor(ld)? 会匹配wor或者world,又如:x?会匹配“空字符”或者一个x

!
  逻辑非。例如:"!myname"将会匹配除了“myname”以外的所有字符串

.
表示任意字符

-
命令apache“不要”重写URL,例如:"xxx.domian.com.* -[F]"

+
匹配至少一个任意字符,例如:G+ 匹配以G开头,并且后面至少有一个字符的字符串

*
匹配零个或多个字符,例如:“。”匹配任意字符

|
  逻辑“或”。与[OR]不同的是,它是匹配字符串,例如(x|y)匹配x或者y


\
  转义字符。可以转义左括号(,尖括号^,美元符号 $, 感叹号 !点 。 星号 *,管道符号|等,

\.
转义为点字符(点字符在正则表达式中可以匹配任意字符)

/*
  零个或多个字符

.*
  零个或多个任意字符(即匹配任意字符,包括空字符)

^$
  匹配“空字符”,“空行”

^.*$
    匹配任意字符串(仅限一行)

[^/.]
    匹配既非“正斜杠”也不是“点”的任意字符

[^/.]+
    匹配第一个字符既非“正斜杠”也不是“点”,后继字符可以是“正斜杠”或者“点”字符串

http ://
    匹配 http ://

^domain.*
    匹配以"domain"开始的字符串

^domain\.com$
    仅匹配 "domain.com"

-d
    测试字符串是否已存在的目录  

-f
    测试字符串是否是已经存在的文件

-s
    测试字符串所指文件是否有“非零”值

以下为相关例子:
1。将.htm 页面映射到 .php

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)\.htm$ $1.php [NC]

2。临时重定向(R=302)与永久重定向(R=301)

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.htm$ $.php [R,NC,L]
•该RewriteRule能够将.htm静态页面重定向到.php动态页面
•如果通过.htm进入,浏览器地址栏会自动转为.php,这也是重定向的本质
•必须保证服务器上有对应的.php,否则会404
•浏览器和搜索引擎可以同时通过.htm和.php访问网页
•如果该目录上存在.htm,将被忽略
•RewriteBase定义了重写基准目录。
•例如,如果你将虚拟站点设置在/var/www目录下,删除这行将会导致重定向到h ttp://yourdomain.com/var/www/1.php 。显然这是找不到的,而且你也不会希望用户看见你的服务器的目录结构。
•再举个例子,如果RewriteBase /base/,那么将会重定向到h ttp://yourdomain.com/base/1.php 。
•对于重写基准目录,我们还可以通过将$1.php变成/$1.php实现直接变换,这时就可以将RewriteBase省略。
•字母R表示临时重定向,相当于[R=302,NC]。关于重定向代码,请参考h ttp://lesca.me/archives/htaccess-appendix.html 《HTTP协议重定向编码》
•字母L表示如果能匹配本条规则,那么本条规则是最后一条(Last),忽略之后的规则。

永久得定向 R=301
RewriteEngine On
RewriteRule ^(.*)$ h ttp://newdomain.com/$ [R=301,NC,L]
•这个规则告诉浏览器和搜索引擎,网站地址发生了永久性变更,用户的URL请求将会被发送给新的域名(主机)处理。
•由于是重定向到新的主机地址,RewriteBase也就没有出现的必要了。

3.为什么要用重定向?——重定向和URL重写的区别
•通过重定向,浏览器知道页面位置发生变化,从而改变地址栏显示的地址
•通过重定向,搜索引擎意识到页面被移动了,从而更新搜索引擎索引,将原来失效的链接从搜索结果中移除
•临时重定向(R=302)和永久重定向(R=301)都是亲搜索引擎的,是SEO的重要技术
•URL重写用于将页面映射到本站另一页面,若重写到另一网络主机(域名),则按重定向处理

长短地址转换
利用URL重写,我们可以很方便地实现长短地址的转换,但是用重定向就不合适了。

RewriteEngine On
RewriteRule ^grab /public/file/download/download.php

若访问
h ttp://mysite/grab?file=my.zip

则会执行该页面:
h ttp://mysite/public/files/download/download.php?file=my.zip

去掉www

options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ h ttp://$1/$1 [R=301,NC,L]

加上www

optionEngine On
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule (.*) h ttp://www\.%1/$1 [R=301,L]

支持多域名访问
如果你不凑巧买到了不支持多域名的主机,那么.htaccess或许可以帮助你。现在假设你有域名domain-one.com和domain-two.com,并且在服务器根目录有对应文件夹one和two,那么通过下面的改写就能让Apache同时接受者两个域名的请求:

RewriteCond %{HTTP_HOST} domain-one.com
RewriteCond %{REQUEST_URI} !^/one
RewriteRule ^(.*)$ /one/$1 [L]

RewriteCond %{HTTP_HOST} domain-two.com
RewriteCond %{REQUEST_URL} !^/two
RewriteRule ^(.*)$ /two/$1 [L]

改写查询字符串QUERY_STRING
查询字符串是指URL请求中“问号”后面的部分。比如,h ttp://mysite/grab?foo=bar ?部分就是查询字符串,其中变量名是foo,值是bar。
1.利用QSA转换查询字符串QUERY_STRING
QSA标志( Query String Appending)用于在URI中截取查询字符串,这个截取操作是通过小括号正则表达式实现的:

RewriteEngine On
RewriteRule /pages/(.+) /page.php?page=$1 [QSA]

•将会把请求/pages/123?one=two 映射到 /page.php?page=123&one=two
•注意几乎是相同的,除了“问号”变成了“与”符号
•如果没有QSA标志,那么会映射到/page.php?page=123。
•如果没有用到小括号正则表达式,就不需要QSA
•小括号正则表达式可以截取查询字符串中的内容,但是如果没有开启QSA标志,那么在/page.php?page=$1中“问号”之后将会被剥离丢弃。这种特性可以用于实现“剥离查询字符串”

通过QSA,我们可以将简单链接/simple/flat/link/ 映射成 server-side.php?first-var=flat&second-var=link

RewriteEngine On
RewriteRule ^/([^/]+)/([^/]+)/? /index.php?first-var=$1&second-var=$2 [QSA]

利用RewriteCond改写查询字符串QUERY_STRING
RewriteEngine On
RewriteCond %{QUERY_STRING} foo=(.*)
RewriteRule ^grab(.*) /page.php?bar=%1

该规则将访问请求htt p://mysite/grab?foo=bar转换为htt p://mysite/page.php?bar=bar
RewriteCond用于捕获查询字符串(QUERY_STRING)中变量foo的值,并存储在%1中
QUERY_STRING是Apache定义的“变量=值”向量(数组)

QSA与RewriteCond一起用

RewriteEngine On
RewriteCond %{QUERY_STRING} foo=(.+)
RewriteRule ^grab/(.*) /%1/index.php?file=$1 [QSA]

•会把/grab/foobar.zip?level=5&foo=bar 映射到 /bar/index.php?file=foobar.zip&level=5&foo=bar
•转换后根目录是bar目录
•foobar.zip?level=5中的“问号”变成了foobar.zip&level=5中的“与”符号

剥离查询字符串

只需在要开始剥离的链接后面加个“问号”,并且不要启用QSA标志,就可剥离查询字符串

RewriteEngine On
RewriteCond %{QUERY_STRING} .
RewriteRule foo.php(.*) /foo.php? [L]

用.htaccess阻止User-agent
什么是User-agent?User-agent用于浏览器向服务器“自报家门”,更确切的说是所有HTTP客户端都得用User-agent向服务器“自报家门”,以便服务器对不同的客户端作出不同响应。比如,某站点可能需要对浏览器、搜索引擎crawl还有各类下载工具作出不同的响应。服务器就是通过所谓的User-agent进行区分的。
如果你的服务器提供某些资源的下载,那么你就必须多加小心诸如“迅雷”等下载软件,因为它们可能把你网站资源吸干,并且影响你的正常访客访问。为此,我们可以利用Rewrite限制某些UA的访问:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} 2.0.50727 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
# ect...
RewriteRule . abuse.txt


•该规则限制“迅雷”客户端下载资源,并将下载文件重置到abuse.txt
•HTTP_USER_AGENT是Apache的内置变量
•2.0.50727是迅雷User-agent的特征字符串
•RewriteRule后面的“点”表示“任意URI”,也就是不管请求的是什么,都输出abuse.txt

文件访问控制

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
RewriteCond %{REQUEST_FILENAME} !special.zip$
RewriteRule ^(.+)$ /chat/ [NC]

•该规则将仅允许用户请求.css, .js类型的文件,还有special.zip文件
•RewriteRule 后面指定了限制规则:映射到/char/目录下处理
•RewriteCond 后面的“感叹号”(!)起到了“否定”作用,它表明,对不满足后面正则表达式者应用RewriteRule规则,也就是对当前类型的文件将不应用规则
•RewriteCond 之间是以逻辑“与”连接的,也就是只有当三个条件都不满足时才执行RewriteRule
•该规则也会限制访问.htm, .jpg等格式
•该规则不可以放在虚拟站点根目录(/)下,否则会死循环
•如果是二级目录,如/test/,那么传入RewriteCond的参数是以/test/开始的,因此从(.+)获得的文件名也含有/test/,读者必须对此多加小心
•要想仅获得文件名,可以将(.+)替换成([^/]+),并且去掉符号^,如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !([^/]+)\.css$
RewriteCond %{REQUEST_FILENAME} !([^/]+)\.js$
RewriteRule ^(.+)$ /chat/ [NC]




RewriteEngine Off
#RewiteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ blog/$1

# 没有输入文件名的默认到到首页
RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ [NC]
RewriteRule ^(/)?$ blog/index.php [L]

防盗链:
RewriteEngine on
#RewiteBase /
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !xxx.info [NC]
RewriteCond %{HTTP_REFERER} !(www\.)?baidu.com$ [NC]
RewriteCond %{HTTP_REFERER} !(www\.).google.com$ [NC]
RewriteRule \.(jpg|gif|png|bmp|swf|jpeg)$ /error/daolian.gif [R,NC,L]

【RewriteCond语法】
RewriteCond TestString CondPattern [flags]

rewritecond的其他用法:
"-d"(目录)
将TestString视为一个路径名并测试它是否为一个存在的目录。
"-f"(常规文件)
将TestString视为一个路径名并测试它是否为一个存在的常规文件。
"-s"(非空的常规文件)
将TestString视为一个路径名并测试它是否为一个存在的、尺寸大于0的常规文件。
"-l"(符号连接)
将TestString视为一个路径名并测试它是否为一个存在的符号连接。
"-x"(可执行)
将TestString视为一个路径名并测试它是否为一个存在的、具有可执行权限的文件。该权限由操作系统检测。
"-F"(对子请求存在的文件)
检查TestString是否为一个有效的文件,而且可以在服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查,由于会降低服务器的性能,所以请谨慎使用!
"-U"(对子请求存在的URL)
检查TestString是否为一个有效的URL,而且可以在服务器当前的访问控制配置下被访问。它使用一个内部子请求来做检查,由于会降低服务器的性能,所以请谨慎使用!

【RewriteRule语法:】
RewriteRule Pattern Substitution [flags]

【flags】
"chain|C"(链接下一规则)


"cookie|CO=NAME:VAL:domain[:lifetime[:path]]"(设置cookie)


"env|E=VAR:VAL"(设置环境变量)


"forbidden|F"(强制禁止URL)


"gone|G"(强制废弃URL)


"handler|H=Content-handler"(强制指定内容处理器)


"last|L"(结尾规则)


"next|N"(从头再来)


"nocase|NC"(忽略大小写)


"noescape|NE"(在输出中不对URI进行转义)


"nosubreq|NS"(不对内部子请求进行处理)


"proxy|P"(强制为代理)


"passthrough|PT"(移交给下一个处理器)


"qsappend|QSA"(追加查询字符串)


"redirect|R [=code]"(强制重定向)


"skip|S=num"(跳过后继规则)


"type|T=MIME-type"(强制MIME类型)

RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
示例:
RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$RewriteCond %{REQUEST_URI} !^/blog/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /blog/$1# 没有输入文件名的默认到到首页RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$RewriteRule ^(/)?$ blog/index.php [L]
【RewriteEngine On】
表示重写引擎开,关闭off,作用就是方便的开启或关闭以下的语句,这样就不需要一条一条的注释语句了。
【RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$】
这是重写条件,前面%{HTTP_HOST}表示当前访问的网址,只是指前缀部分,格式是www.xxx.com不包括“http://”和“/”,^表示 字符串开始,$表示字符串结尾,\.表示转义的. ,如果不转义也行,推荐转义,防止有些服务器不支持,?表示前面括号www\.出现0次或1次,这句规则的意思就是如果访问的网址是xxx.com或者 www.xxx.com就执行以下的语句,不符合就跳过。
【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表示反向匹配,引用的是前面第一个圆括号的成分,即^(.*)$中 的.* ,其实这儿将会出现一个问题,后面讨论。

【RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$】
【RewriteRule ^(/)?$ blog/index.php [L]】
这两句的意思是指请求的host地址是www.xxx.com是,如果地址的结尾只有0个或者1个“/”时,将会重写到子目录下的主页,我猜想这主要因为重写后的地址是不能自动寻找主页的,需要自己指定。

现在说说出现的问题,RewriteRule ^(.*)$ /blog/$1 前部分 ^(.*)$ 将会匹配当前请求的url。
例如:请求网址是http://www.xxx.com/a.html,到底是匹配整个http://www.xxx.com/a.html,还是只匹配/a.html即反斜杠后面的成分,还是只匹配a.html。
答 案是:(根据RewriteBase规则规定,如果rewritebase 为/,将会匹配a.html,不带前面的反斜杠,所以上条语句应该写成RewriteRule ^(.*)$ blog/$1(不带/),不过实际应用上带上前面的反斜杠,也可以用,可能带不带都行。现在问题出来了,如果不设置rewritebase 为/ ,将会匹配整个网址http://www.xxx.com/a.html,显然这是错误的,所以应该添加这条:RewiteBase /)有误,自己测试通不过,所以确的应该是 RewriteRule 中的跳转部分加上 http://协议

还有一个问题是,不能保证每个人输入的网址都是小写的,如果输入大写的呢,linux系统是区分大小写的,所以应该在RewriteCond后添加[NC]忽略大小写的。
至此,完整的语句应该是:

RewriteEngine OnRewiteBase /RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ [NC]RewriteCond %{REQUEST_URI} !^/blog/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ blog/$1# 没有输入文件名的默认到到首页RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ [NC]RewriteRule ^(/)?$ blog/index.php [L]
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

Discuz智能体Lv.8 发表于 2025-3-21 03:55:07 | 查看全部
在Discuz!的Apache环境中,伪静态规则的高级用法可以帮助你实现多种功能,如伪静态重定向、防盗链、限制下载、文件保护等。以下是一些常见的用法和示例:

### 1. 301全站跳转
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.old\.net$
  3. RewriteRule ^(.*)$ http://www.new.net/$1 [R=301,L]
复制代码

- `RewriteCond` 用于匹配条件,`%{HTTP_HOST}` 是当前请求的主机名。
- `RewriteRule` 用于重写URL,`[R=301,L]` 表示永久重定向并停止后续规则的处理。

### 2. 防盗链
  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteCond %{HTTP_REFERER} !xxx.info
  4. RewriteCond %{HTTP_REFERER} !(www\.)?baidu.com$
  5. RewriteCond %{HTTP_REFERER} !(www\.)?google.com$
  6. RewriteRule \.(jpg|gif|png|bmp|swf|jpeg)$ /error/daolian.gif [NC,R,L]
复制代码

- `%{HTTP_REFERER}` 用于检查请求的来源。
- `[NC]` 表示不区分大小写,`[R,L]` 表示重定向并停止后续规则的处理。

### 3. 限制下载
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} 2.0.50727
  3. RewriteCond %{HTTP_USER_AGENT} ^BlackWido
  4. RewriteRule . abuse.txt [L]
复制代码

- `%{HTTP_USER_AGENT}` 用于检查用户代理(如迅雷等下载工具)。
- 如果匹配到特定的用户代理,则返回 `abuse.txt` 文件。

### 4. 文件保护
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
  3. RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
  4. RewriteCond %{REQUEST_FILENAME} !special.zip$
  5. RewriteRule ^(.+)$ /chat/ [L]
复制代码

- `%{REQUEST_FILENAME}` 用于检查请求的文件名。
- 如果请求的文件不是 `.css`、`.js` 或 `special.zip`,则重定向到 `/chat/` 目录。

### 5. 长短地址转换
  1. RewriteEngine On
  2. RewriteRule ^grab /public/file/download/download.php [L]
复制代码

- 访问 `http://mysite/grab?file=my.zip` 会被重写为 `http://mysite/public/files/download/download.php?file=my.zip`。

### 6. 去掉或加上 `www`
  1. # 去掉www
  2. RewriteEngine On
  3. RewriteCond %{HTTP_HOST} ^www\.(.*)
  4. RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  5. # 加上www
  6. RewriteEngine On
  7. RewriteCond %{HTTP_HOST} ^(.*)$
  8. RewriteRule (.*) http://www.%1/$1 [R=301,L]
复制代码


### 7. 支持多域名访问
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} domain-one.com
  3. RewriteCond %{REQUEST_URI} !^/one
  4. RewriteRule ^(.*)$ /one/$1 [L]

  5. RewriteCond %{HTTP_HOST} domain-two.com
  6. RewriteCond %{REQUEST_URI} !^/two
  7. RewriteRule ^(.*)$ /two/$1 [L]
复制代码


### 8. 改写查询字符串
  1. RewriteEngine On
  2. RewriteCond %{QUERY_STRING} foo=(.*)
  3. RewriteRule ^grab(.*) /page.php?bar=%1 [L]
复制代码

- `%{QUERY_STRING}` 用于捕获查询字符串中的变量值。

### 9. 阻止特定User-agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} 2.0.50727
  3. RewriteCond %{HTTP_USER_AGENT} ^BlackWido
  4. RewriteRule . abuse.txt [L]
复制代码


### 10. 文件访问控制
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
  3. RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
  4. RewriteCond %{REQUEST_FILENAME} !special.zip$
  5. RewriteRule ^(.+)$ /chat/ [L]
复制代码


### 11. 默认首页
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$
  3. RewriteRule ^(/)?$ blog/index.php [L]
复制代码


### 12. 剥离查询字符串
  1. RewriteEngine On
  2. RewriteCond %{QUERY_STRING} .
  3. RewriteRule foo.php(.*) /foo.php? [L]
复制代码


### 13. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php]
复制代码


### 14. 设置Cookie
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [CO=mycookie:myvalue:.example.com]
复制代码


### 15. 设置环境变量
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [E=myvar:myvalue]
复制代码


### 16. 强制禁止URL
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ - [F]
复制代码


### 17. 强制废弃URL
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ - [G]
复制代码


### 18. 强制指定内容处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [H=application/x-httpd-php]
复制代码


### 19. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [P]
复制代码


### 20. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 21. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 22. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 23. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 24. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 25. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 26. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 27. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 28. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 29. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 30. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 31. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 32. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 33. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 34. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 35. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 36. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 37. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 38. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 39. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 40. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 41. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 42. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 43. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 44. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 45. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 46. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 47. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 48. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 49. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 50. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 51. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 52. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 53. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 54. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 55. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 56. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 57. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 58. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 59. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 60. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 61. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 62. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 63. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 64. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 65. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 66. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 67. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 68. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 69. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 70. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 71. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 72. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 73. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 74. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 75. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 76. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 77. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 78. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 79. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 80. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 81. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 82. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 83. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 84. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 85. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 86. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 87. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 88. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 89. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 90. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 91. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 92. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 93. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 94. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 95. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 96. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 97. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 98. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 99. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 100. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 101. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 102. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 103. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 104. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 105. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 106. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 107. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 108. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 109. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 110. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 111. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 112. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 113. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 114. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 115. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 116. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 117. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 118. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 119. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 120. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 121. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 122. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 123. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 124. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 125. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 126. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 127. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 128. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 129. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 130. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 131. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 132. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 133. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 134. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 135. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 136. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 137. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 138. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 139. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 140. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 141. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 142. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 143. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 144. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 145. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 146. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 147. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 148. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 149. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 150. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 151. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 152. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 153. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 154. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 155. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 156. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 157. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 158. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 159. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 160. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 161. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 162. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 163. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 164. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 165. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 166. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 167. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 168. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 169. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 170. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 171. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 172. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 173. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 174. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 175. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 176. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 177. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 178. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 179. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 180. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 181. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 182. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 183. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 184. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 185. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 186. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 187. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 188. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 189. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 190. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 191. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 192. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 193. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 194. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 195. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 196. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 197. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 198. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 199. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 200. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 201. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 202. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 203. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 204. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 205. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 206. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 207. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 208. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 209. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 210. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 211. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 212. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 213. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 214. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 215. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 216. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 217. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 218. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 219. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 220. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 221. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 222. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 223. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 224. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 225. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 226. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 227. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 228. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 229. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 230. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 231. 强制重定向
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
复制代码


### 232. 跳过后继规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [S=1]
复制代码


### 233. 强制MIME类型
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [T=text/html]
复制代码


### 234. 结尾规则
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [L]
复制代码


### 235. 从头再来
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [N]
复制代码


### 236. 忽略大小写
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NC]
复制代码


### 237. 在输出中不对URI进行转义
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NE]
复制代码


### 238. 不对内部子请求进行处理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [NS]
复制代码


### 239. 强制为代理
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [P]
复制代码


### 240. 移交给下一个处理器
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [PT]
复制代码


### 241. 追加查询字符串
  1. RewriteEngine On
  2. RewriteRule ^(.*)$ $1 [QSA]
复制代码


### 242. 强制重定向
```apache
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 05:48:28 | 查看全部
在Discuz!的Apache环境中,伪静态规则(`.htaccess`文件)是一个非常强大的工具,可以帮助你实现多种功能,包括伪静态重定向、防盗链、限制下载、文件保护等。以下是一些高级用法的详细解释和示例:

### 1. 301全站跳转
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.old\.net$
  3. RewriteRule ^(.*)$ http://www.new.net/$1 [R=301,L]
复制代码

- **解释**:将`www.old.net`的所有请求重定向到`www.new.net`,并返回301永久重定向状态码。
- **注意**:`[R=301,L]`表示301重定向,并且这是最后一条规则(`L`)。

### 2. 防盗链
  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/ [NC]
  4. RewriteRule \.(jpg|jpeg|png|gif|bmp)$ - [F,NC]
复制代码

- **解释**:阻止其他网站盗链你的图片资源。如果请求的图片文件(如`.jpg`, `.png`等)不是来自`yourdomain.com`,则返回403 Forbidden错误。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 3. 限制下载
  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/ [NC]
  3. RewriteRule \.(zip|rar|tar\.gz)$ - [F,NC]
复制代码

- **解释**:限制只有来自`yourdomain.com`的请求才能下载`.zip`, `.rar`, `.tar.gz`等文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 4. 文件保护
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/protected/ [NC]
  3. RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.100$
  4. RewriteRule ^(.*)$ - [F,NC]
复制代码

- **解释**:保护`/protected/`目录下的文件,只允许IP地址为`192.168.1.100`的客户端访问。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 5. 伪静态重定向
  1. RewriteEngine On
  2. RewriteRule ^article/([0-9]+)/?$ article.php?id=$1 [L,QSA]
复制代码

- **解释**:将`/article/123/`这样的URL重写为`article.php?id=123`,并且保留查询字符串(`QSA`)。
- **注意**:`[L,QSA]`表示这是最后一条规则(`L`),并且追加查询字符串(`QSA`)。

### 6. 去掉`www`
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
复制代码

- **解释**:将`www.yourdomain.com`重定向到`yourdomain.com`,并返回301永久重定向状态码。
- **注意**:`[R=301,L]`表示301重定向,并且这是最后一条规则(`L`)。

### 7. 加上`www`
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
  3. RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
复制代码

- **解释**:将`yourdomain.com`重定向到`www.yourdomain.com`,并返回301永久重定向状态码。
- **注意**:`[R=301,L]`表示301重定向,并且这是最后一条规则(`L`)。

### 8. 支持多域名访问
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^domain-one\.com$ [NC]
  3. RewriteCond %{REQUEST_URI} !^/one/
  4. RewriteRule ^(.*)$ /one/$1 [L]

  5. RewriteCond %{HTTP_HOST} ^domain-two\.com$ [NC]
  6. RewriteCond %{REQUEST_URI} !^/two/
  7. RewriteRule ^(.*)$ /two/$1 [L]
复制代码

- **解释**:根据访问的域名(`domain-one.com`或`domain-two.com`),将请求重定向到不同的目录(`/one/`或`/two/`)。
- **注意**:`[L]`表示这是最后一条规则。

### 9. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 10. 文件访问控制
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
  3. RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
  4. RewriteCond %{REQUEST_FILENAME} !special\.zip$
  5. RewriteRule ^(.+)$ /chat/ [L]
复制代码

- **解释**:只允许访问`.css`, `.js`文件和`special.zip`文件,其他请求将被重定向到`/chat/`目录。
- **注意**:`[L]`表示这是最后一条规则。

### 11. 默认首页
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain\.com$ [NC]
  3. RewriteRule ^(/)?$ blog/index.php [L]
复制代码

- **解释**:如果访问根目录(`/`),则重定向到`blog/index.php`。
- **注意**:`[L]`表示这是最后一条规则。

### 12. 改写查询字符串
  1. RewriteEngine On
  2. RewriteCond %{QUERY_STRING} foo=(.*)
  3. RewriteRule ^grab(.*) /page.php?bar=%1 [L,QSA]
复制代码

- **解释**:将`/grab?foo=bar`重写为`/page.php?bar=bar`,并且保留查询字符串(`QSA`)。
- **注意**:`[L,QSA]`表示这是最后一条规则(`L`),并且追加查询字符串(`QSA`)。

### 13. 剥离查询字符串
  1. RewriteEngine On
  2. RewriteCond %{QUERY_STRING} .
  3. RewriteRule foo.php(.*) /foo.php? [L]
复制代码

- **解释**:将`foo.php?query=string`重写为`foo.php`,剥离查询字符串。
- **注意**:`[L]`表示这是最后一条规则。

### 14. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 15. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 16. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 17. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 18. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 19. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 20. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 21. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 22. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 23. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 24. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 25. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 26. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 27. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 28. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 29. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 30. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 31. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 32. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 33. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 34. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 35. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 36. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 37. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 38. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 39. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 40. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 41. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 42. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 43. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 44. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 45. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 46. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 47. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 48. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 49. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 50. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 51. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 52. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 53. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 54. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 55. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 56. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 57. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 58. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 59. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 60. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 61. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 62. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 63. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 64. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 65. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **解释**:将所有`www`的请求重定向到非`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 66. 阻止特定IP
  1. RewriteEngine On
  2. RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.100$
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止IP地址为`192.168.1.100`的客户端访问,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 67. 阻止特定目录
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/`目录下的所有文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 68. 阻止特定文件
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_URI} ^/private/file\.txt$ [NC]
  3. RewriteRule ^(.*)$ - [F,L]
复制代码

- **解释**:阻止访问`/private/file.txt`文件,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 69. 阻止特定User-Agent
  1. RewriteEngine On
  2. RewriteCond %{HTTP_USER_AGENT} ^BlackWido [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} ^2\.0\.50727 [NC]
  4. RewriteRule ^.*$ - [F,L]
复制代码

- **解释**:阻止User-Agent为`BlackWido`或`2.0.50727`(迅雷)的请求,并返回403 Forbidden错误。
- **注意**:`[F,L]`表示返回403 Forbidden错误,并且这是最后一条规则(`L`)。

### 70. 阻止特定文件类型
  1. RewriteEngine On
  2. RewriteRule \.(htaccess|htpasswd|ini|log|sh|inc|bak)$ - [F,NC]
复制代码

- **解释**:阻止访问`.htaccess`, `.htpasswd`, `.ini`, `.log`, `.sh`, `.inc`, `.bak`等敏感文件。
- **注意**:`[F,NC]`表示返回403 Forbidden错误,并且忽略大小写(`NC`)。

### 71. 强制HTTPS
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
复制代码

- **解释**:将所有HTTP请求重定向到HTTPS,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 72. 强制WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\. [NC]
  3. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
复制代码

- **解释**:将所有非`www`的请求重定向到`www`,并返回301永久重定向状态码。
- **注意**:`[L,R=301]`表示这是最后一条规则(`L`),并且返回301重定向(`R=301`)。

### 73. 强制非WWW
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  3. RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
复制代码

- **
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.19.70.25,GMT+8, 2025-3-29 19:56 , Processed in 0.335536 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表