以下为我的httpd.conf内的内容:
- RegistrationName=Longshui Chen
- RegistrationCode=7Z3NU-7MAP5-JZDPH-PR9GK
- [ISAPI_Rewrite]
- # 3600 = 1 hour
- CacheClockRate 3600
- RepeatLimit 32
- #301设置,此设置情况下17hdy.com/aa.htm 会301跳至www.17hdy.com/aa.htm,将17hdy.com替换为您自己的域名就能实现自己的域名的301
- RewriteCond %{HTTP:Host} ^17hdy.com$
- RewriteRule (.*) http://www.17hdy.com$1 [NC,R=301]
- #防盗链代码
- RewriteCond %{HTTP:Host} ^(.+)$
- RewriteCond %{HTTP:Referer} ^(?!http://\\1.*).*$
- RewriteCond %{HTTP:Referer} ^(?!http://(#.*\.google\.com|.*\.google\.cn|.*\.baidu\.com|.*\.17hdy\.com|).*).*$
- RewriteRule .*\.(?:gif|jpg|png|swf|rar|zip)$ /fangdao.jpg [N,O,I]
- #dede站内问答
- allow_url_fopen = On
- RewriteRule /ask/([a-z,0-9]*)-([a-z,0-9]*)-([0-9]+)\.html /ask/$1.php?$2=$3
- RewriteRule ^(.*)/question-id-([0-9]+)\.html$ $1/question\.php\?id=$2
- RewriteRule ^(.*)/browser-tid-([0-9]+)\.html$ $1/browser\.php\?tid=$2
- RewriteRule ^(.*)/browser-tid2-([0-9]+)\.html$ $1/browser\.php\?tid2=$2
- RewriteRule ^(.*)/browser-lm-([0-9]+)\.html$ $1/browser\.php\?lm=$2
- RewriteRule ^(.*)/browser-tid-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid=$2&lm=$3
- RewriteRule ^(.*)/browser-tid2-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid2=$2&lm=$3
- #dx2论坛静态规则
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^(.*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3&%1
- </IfModule>
## 防盗链设置,以vps,windows系统为例 ##
主要以网站www.genban.org为例:
请先在您的服务器下载rewrite3 伪静态组件,
下载地址:http://downinfo.myhostadmin.net/rewrite3.rar
解压后双击目录中的 urlrewrite.bat 即可自动安装程序,安装后打开您要设置的站点--右键--属性--ISAPI筛选器 添加 可执行文件:C:\rewrite3\Rewrite.dll(筛选
器名称 Rewrite)。然后记事本打开C:\rewrite3\httpd.conf先删除您不需要的伪静态代码需要保留:
- RegistrationName=Longshui Chen
- RegistrationCode=7Z3NU-7MAP5-JZDPH-PR9GK
- [ISAPI_Rewrite]
- # 3600 = 1 hour
- CacheClockRate 3600
- RepeatLimit 32
- #防盗链代码
- RewriteCond %{HTTP:Host} ^(.+)$
- RewriteCond %{HTTP:Referer} ^(?!http://\\1.*).*$
- RewriteCond %{HTTP:Referer} ^(?!http://(#.*\.google\.com|.*\.google\.cn|.*\.baidu\.com|.*\.abc\.com|).*).*$
- RewriteRule ^(/image/|/up_files/).*\.(?:gif|jpg|png|swf|rar|zip)$ /error.png [N,O,I]
说明:1、以上代码的前两行不用修改,使用时请把上面的17hdy\.com修改为你网站的域名(比如17hdy\.com),否则您的网站将不能正常使用图片。若要添加多个域名用:.*\.xxxxxx\.com|(不要少了竖线)
2、^(/image/|/up_files/) 是指定防盗链的目录,若添加了这个只有这目录里面的文件才防盗链,目录之外的无防盗链的效果。 若需要全站的都有防盗链可以取消这代码(如:RewriteRule .*\.(?:gif|jpg|png|swf|rar|zip)$ /fd.html [N,O,I])。
3、error.png 是防盗链给访问者的提示,这个可以换为一张图片,或者一个网页比如:RewriteRule .*\.(?:gif|jpg|png|swf|rar|zip)$ /fd.html [N,O,I] 或者 RewriteRule .*\.(?:gif|jpg|png|swf|rar|zip)$ /fd.jpg [N,O,I] 。这个图片和网页一般是放在您站点的根目录里面。
## tipask静态设置例 ##
只需要在网站根目录内放置 .htaccess 文件即可。
文件内容为:
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^.*$ index.php?$0
- </IfModule>
1.htacces.rar |
- RewriteEngine on
- RewriteCond %{HTTP_REFERER} !^$ [NC]
- RewriteCond %{HTTP_REFERER} !17hdy.com[NC]
- RewriteCond %{HTTP_REFERER} !genban.org [NC]
- RewriteRule .*\.(gif|jpg)$ http://www.genban.org/no.png [R,NC,L]
简单的解释一下上述语句:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
2、RewriteCond %{HTTP_REFERER} !webeta.cn [NC]设置允许访问的HTTP来源,包括我们的站点自身、Google、Baidu、bbs.qianjia.org等。
3、
- RewriteRule .*\.(gif|jpg|png)$ http://www.genban.org/no.png[R,NC,L]
定义被盗链时替代的图片,让所有盗链 jpg、gif、png 等文件的网页,显示根目录下的 no.png 文件。注意:替换显示的图片不要放在设置防盗链的目录中,并且该图片文件体积越小越好。当然你也可以不设置替换图片,而是使用下面的语句即可:
- RewriteRule .*\.(gif|jpg|png)$ – [F]
4、说明一下其中的R、NC 和 L
R 就是转向的意思
NC 指的是不区分大小写
L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响
5、防止盗链的文件类型
上例中是 gif、jpg、png,而根据需要,可更改或添加其他文件类型,如rar、mov等,不同文件扩展名间使用“|”分割。
这样的话,就可以基本做到简单的防止被盗链情况的发生,而且可以尽最大可能的减少服务器流量的无畏消耗,