Apache中利用mod_rewrite实现防盗链
前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:。
view plaincopy to clipboardprint?<ifmodule mod_rewrite.c> #开启mod_rewrite引擎 RewriteEngine On #设置合法请求源
- <ifmodule mod_rewrite.c>
- #开启mod_rewrite引擎
- RewriteEngine On
- #设置合法请求源
- RewriteCond %{HTTP_REFERER} !^$ [NC]
- RewriteCond %{HTTP_REFERER} !zhangzhang.net [NC]
- RewriteCond %{HTTP_REFERER} !google.com [NC]
- RewriteCond %{HTTP_REFERER} !baidu.com [NC]
- RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
- RewriteCond %{HTTP_REFERER} !msn.com [NC]
- RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
- RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
- RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
- #指向警告页面
- RewriteRule .*\.(gif|jpg|png|mp3)$ outlink.gif [L,NC]
- </ifmodule>
相关推荐
-
Apache rewrite的重写相关的参数说明
Apache mod_rewrite规则重写的标志一览 R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码. F(force URL to be forbidden)禁用URL,返回403HTTP状态码. G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码. P(force proxy)
-
浅谈apache和nginx的rewrite的区别
1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx Rewrite规则语法如下: rewrite ^/b/(.*)\.html /play.php?video=$1 break; 如果加上if语句,示例如下: if (!-f $request_filename) { rewrite ^/img/(.*)$ /site/$host/images/$1
-
13个实用的Apache Rewrite重写规则
1.去掉域名中的www标记 复制代码 代码如下: RewriteCond %{HTTP_HOST} !^jb51\.net$ [NC]RewriteRule .? http://jb51.net%{REQUEST_URI} [R=301,L] 2.去掉www标记,但是保存子域名 复制代码 代码如下: RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?jb51\.net)$ [NC]RewriteRule .? http://%1%{REQUEST_UR
-
apache中通过mod_rewrite实现伪静态页面的方法
rewrite规则学习 我们新建一个.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$ index.php?id=$1 我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束! 好吧,现在我们可以实现伪静态页面了,写下一下的规则: Rewri
-
apache的rewrite规则使用说明
rewrite标志R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码.F(force URL to be forbidden)禁用URL,返回403HTTP状态码.G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码.P(force proxy) 强制使用代理转发.L(last rule)
-
apache rewrite_module模块使用教程
把 [url]http://wwww.aaaaaaaaa.com/bbb.php?id=888[/url] 的地址形式改为 [url]http://wwww.aaaaaaaaa.com/888.htm[/url] 或者 [url]http://wwww.aaaaaaaaa.com/yourname/888.htm[/url] 当然可以按照你的要求随便变. APACHE的 MOD_rewrite模块. 大家可以看一个演示的一个 PHP学习论坛 [url]http://www.phpx.com/ha
-
Apache rewrite重写规则的常见应用
一.为什么需要用重写规则 ---- 网站的生命在于不断地进行更新和维护,根据业务发展的需求转移服务器进行维护.重新组织目录结构.变换URL甚至改变到新的域名等情况是经常发生的.为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写规则). 二.重写规则的作用范围 ---- 1.使用在Apache主配置文件httpd.conf中. ---- 2.使用在httpd.conf里定义的配置中. ---- 3.使用在基本目录的跨越配置文件.htaccess中. 三.
-
Apache伪静态Rewrite详解
一.Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块.二.在Apache配置中启用Rewrite打开配置文件httpd
-
浅析Apache中RewriteCond规则参数的详细介绍
RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始.基础的功能,为了方便理解,下面来看看几个例子. 复制代码 代码如下: RewriteEngine onRewriteCond %{HTTP_USER_AGENT} ^Mozilla//5/.0.*RewriteRule index.php index.m.phpRewriteCond %
-
学习Apache的mod rewrite、access写法
Apache 的 mod rewrite RewriteEngine On RewriteBase /B2B/website/ RewriteRule ^article-([0-9]+)\.html$ view_details.php?browse=profile&id=$1 以上这个测试通过的.如果不行关键是服务器端,以后的怎么改就发挥了 关于图片的 可以加一个 /503(id)/title.htm 这样一定不重复了,用503或其他数字或者是abc也行,不顾oabc还想不是很理想,学学ii的,
-
apache urlrewrite防盗链功能配置
DocumentRoot /home/img ServerName img.host.com ErrorDocument 404 / RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://img.host.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.host.com/.*$ [NC] RewriteRule \.(g
-
Apache Rewrite url重定向功能的简单配置
1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写.配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewri
-
开启Apache mod_rewrite模块示例代码
启用mod_rewrite模块 在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉. 2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All Alias /php "c:/web/php/" 复制代码 代码如下: <Directory "c:/web/php/"> Op
-
如何在Ubuntu下启动Apache的Rewrite功能
在终端中执行 sudo a2enmod rewrite 指令后,即启用了 Mod_rewrite 模块. 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块.用指令操作就是: sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabl
-
Apache Rewrite实现URL的301跳转和域名跳转
如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意
-
让Apache支持Rewrite静态页面重写的方法
首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块. Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: LoadModule rewrite_module modules/mod_rew
-
Linux下Apache安装/增加mod_rewrite模块的方法
如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在http://man.chinaunix.net/newsoft -- ew/mod/mod_rewrite. html中找到.如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加载,下面我们就介绍这个方法. 以Fedora操作系统进行举例: 1)首次安装apache,在编译时增加--enable-rewrite选项.
随机推荐
- PHP字符串的连接的简单实例
- asp.net repeater实现批量删除时注册多选框id到客户端
- php开发工具有哪五款
- python re正则表达式模块(Regular Expression)
- JSP实用教程之简易文件上传组件的实现方法(附源码)
- javascript基础——String
- PHP编辑器PhpStrom运行缓慢问题
- js无法获取到html标签的属性的解决方法
- JS实现两个大数(整数)相乘
- 杀掉oracle在线用户脚本分享
- vim配置显示行号和语法高亮 即.vimrc文件的配置
- 做购物车系统时利用到得几个sqlserver 存储过程
- 深入理解jQuery中的事件冒泡
- 原生JS取代一些JQuery方法的简单实现
- PHP重定向与伪静态区别
- 不允许错过的Anndroid技术经验60条
- Android LocationManager获取经度与纬度等地理信息
- spring WebSocket示例详解
- 详解C语言中strcpy()函数与strncpy()函数的使用
- PHP中的命名空间相关概念浅析