对于所有这样的 URL,代码永久重定向它们(如果启用了 R=301 规则)到新 URL $1,其中 $1 是主机为 abc.net 的非 www URL。非 www URL 是大括号内的内容,并通过 $1 引用。
重写 URL 的重定向规则
重写功能简单的说,就是用短而易记的 URL 替换长而难以记忆的 URL。但是,在开始这个话题之前,这里有一些本文后面会使用的特殊字符的规则和约定。
特殊符号:
符号含义
^-字符串开头
$ -字符串结尾
|-或[a|b]: a 或 b
[a-z]- a 到 z 的任意字母
+-之前字母的一次或多次出现
*-之前字母的零次或多次出现
?-之前字母的零次或一次出现
常量和它们的含义:
常量含义
NC -区分大小写
L -最后的规则–停止处理后面规则
R -临时重定向到新 URL
R=301-永久重定向到新 URL
F -禁止发送403头给用户
P -代理-获取远程内容代替部分并返回
G -Gone,不再存在
S=x -跳过后面的 x 条规则
T=mime-type -强制指定 MIME 类型
E=var:value -设置环境变量var的值为 value
H=handler -设置处理器
PT -Pass through -用于 URL 还有额外的头
QSA -将查询字符串追加到替换 URL
19. 重定向整个站点到 https下面的行会帮助你转换整个网站到 https:
RewriteEngine ON
RewriteCond%{HTTPS}!on
RewriteRule(.*) https://%{HTTP_HOST}%{REQUEST_URI}
上面的行启用重写引擎,然后检查环境变量 HTTPS 的值。如果设置了那么重写所有网站页面到 https。
20.一个自定义重写例子例如,重定向 url ‘?p=100&q=20’ 到 ‘’。
RewriteEngine ON
RewriteRule^http://www.abc.net/([0-9]+)([0-9]+)pq$ ^?p=$1&q=$2
在上面的行中,$1 表示第一个括号,$2 表示第二个括号。
21. 重命名 htaccess 文件为了防止入侵者和其他人查看 .htaccess 文件,你可以重命名该文件,这样就不能通过客户端浏览器访问。实现该目标的语句是:
AccessFileName htac.cess
22. 如何为你的网站禁用图片盗链网站带宽消耗比较大的另外一个重要问题是盗链问题,这是其它站点用于显示你网站的图片而链接到你的网站的链接,这会消耗你的带宽。这问题也被成为 ‘带宽盗窃’。
一个常见现象是当一个网站要显示其它网站所包含的图片时,由于该链接需要从你的网站加载内容,消耗你站点的带宽而为其它站点显示图片。为了防止出现这种情况,比如对于 .gif、.jpeg 图片等,下面的代码行会有所帮助:
RewriteEngine ON
RewriteCond%{HTTP_REFERER}!^$
RewriteCond%{HTTP_REFERERER}!^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpeg|png)$ -[F].