Rewrite
8基本信息
- 中文名
Rewrite
- 属于
服务器重写技术
- 主要的功能
就是实现URL的重写
- 相关
实现限制特定IP访问网站的功能
Rewrite介绍
Rewrite是一种服务器的重写 技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术。它还可以实现限制特定IP访问网站的功能。很多情况下,某个 IP 的访问很容易造成 CPU 100% (比如 某些搜索引擎的固定抓取,别人大量的采集站点),这个时候我们就要利用一些有效的手段封掉对方的 IP,让他无法消耗服务器的资源,封 IP 的方法有很多种,如果你的 Web 服务器安装了 Rewrite 模块的话,也可以试试利用 Rewrite 规则封掉对方的 IP。
例如我们把某个特定的 IP 直接 重定向到首页,在网站根目录的 .htaccess 文件里添加代码:
Code:
RewriteCond % 123.123.123.123 [NC]
将 123.123.123.123 这个 IP 替换成您要限制的 IP 即可。如果要实现多个 IP ,可以这样写:
RewriteCond % 123.123.123.123 [OR]
RewriteCond % 124.124.124.124 [NC]
Rewrite主要的功能
Rewrite主要的功能就是实现URL的重写。它的正则表达式是基于Perl语言,入站的规则用于修改 HTTP 请求 Url。这些规则可以为以下几个目的,如演示对用户更加友好的 URL 命名空间为您的 Web 站点,将请求的 Url 重定向到新位置,或阻止访问 Url 来提供服务。 出站的重写规则修改 HTTP 响应。例如,如果您的 Web 站点的导航结构已更改,您可以创建修改您的内容中的 Url,以便将 Web 页的内容指向正确的位置出站规则。然后,您可以创建基于缓存的位置与新的 url 的客户端请求重定向的入站的规则。 可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块。
基于服务器级的(httpd.conf)
有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能。否则virtualhost里没有RewriteEngine on它里面的规则也不会生效。
基于目录级的(.htaccess)
要注意一点那就是必须打开此目录的FollowSymLinks属性且在.htaccess里要声明RewriteEngine on。
如何使用Rewrite功能Apache
一.我们通过在IIS中安装一个名为 ISAPI_Rewrite 的ISAPI筛选器来实现 Rewrite 功能,您需要做的事情只有一个,就是修改配置文件 httpd.ini ,有关该组件的详细使用方法,您可以登录该组件官方网站 http://www.somesite.com/ 来学习,这里我们举一个简单的例子来说明它的用法。
假设您要实现这样的 Rewrite 功能:您希望当用户访问 /about.htm ( )的时候实际访问的是 /index.html 。
设置方法是:
1、创建一个文本文件,内容为