ISAPI rewrite中文手册
- 格式:doc
- 大小:157.50 KB
- 文档页数:19
ISAPI rewrite中文手册伪静态是什么?伪静态就是:动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面.伪静态的生成的2种方式:1.框架型伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的主框架页面,然后把动态的内容链入副框架内,这个单从它的URL就可以看出眉目,如果整个网站的URL都是一样的,那么就一定是框架伪静态的.2.利用组件把asp的后辍显示为htm,这种方法的原理是有一点难度的,它主要是利用一个组件强制性的把asp文件的后辍显示为htm,对于客户来说,它是很难分辨的,因为显示的链接的确是以.htm结尾的,不过如果仔细观察它的链接,也能看出来一些眉目,因为这种URL是很奇怪的,中间带有asp的子样,而且后面还有些参数,不过参数的结果已经被隐藏掉了,但是看到这些就应该保持戒心了;不过,还是有办法找出它的原形,就是看程序文件,去找和URL相同的网页,因为htm的网页都是真实存在的,如果找不到这个网页的话,那它是伪静态化无疑了.伪静态有什么用?我们做伪静态的目的就只有几种:1.最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容!2.方便用户访问网站:一个好网页如果是动态的用户在相互传播时感觉对方信任度不会高但一看一个静态页相对用户对网页的信任度就高点而且伪静态的后缀方式基本雷同,一看就知道是伪静态还是真的静态网页!3.伪静态对SEO有利嘛?SEO中的伪静态如何定义?!在影响网站在搜索引擎的排名中,有很重要的一条是网页静态化,很多朋友在研究SEO的时候,因为有些技术原因,伪静态成了最大的门槛.我们知道,在SEO优化中,new_1234.html要比new.asp?id=1234更容易收录,一般对于有独立服务器的朋友来说,你就可以使用ISAPI_Rewrite的方式写伪静态规则,而对于只有虚拟空间的朋友,可能你只能使用一些ASP生成HTML的系统来帮助你了.今天重点说一下利用ISAPI_Rewrite构建伪静态.IIS配置支持伪静态 ISAPI Rewrite第一:首先我们需要下载一个ISAPI_Rewrite,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站进行伪静态配置.对于个人站长来说,精简版就足够了.下载:/download/isapi_rwl_0055.msi第二:下载完成后,可以找到安装包里的.msi的文件,安装即可.随便装在哪都可以,默认是装在C:\Program Files\Helicon下,要注意的是这个目录everyone 要有读取权限。
我就因为当时服务器权限配的比较严格,默认安装Helicon这目录EVERYONE是没有任何权限的,结果老是出现:Service Unavailable 。
第三:打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,这里的名称可以自己随意填写,路径自己指定ISAPI_Rewrite.dll,然后确定.下面我们先做一个测试页new.asp,可以按照下面的代码写然后,在浏览器中输入:http://127.0.0.1/new.asp?id=1234接着你就可以在网页上看到一行文字:"1234"看到这几个数字,就说明你测试成功了.现在我们开始来配置ISAPI_Rewrite :打开ISAPI_Rewrite的目录,把httpd.ini的只读属性去掉,打开编辑.我们现在是需要把new.asp?id=1234修改成类似new_1234.html的路径,因此,我们需要在httpd.ini中添加一句RewriteRule /new_([0-9,a-z]*).html /new.asp?id=$1保存后,我们就可以测试一下这个网址了:http://127.0.0.1/new_1234.html可以看到页面上的"1234"了吧,就这样伪静态配置成功了!当然,以上只是简单的,根据实际情况,还有目录型的,还有翻页类型等等.我们在进行网站搜索引擎优化(SEO)或在服务器进行防盗链设置的时候,可能会用到ISAPI rewrite,下面是ISAPI rewrite的手册,翻译成中文。
配置:在NT 2000 XP和2003平台上,在系统帐户下应该INETINFO程序应该与IIS5以共存模式过滤器运行。
所以系统帐户应该给予对所有的ISAPI- REWIRITE DLLS 和所有的HTTPD。
INI文件至少可读权限,我们也推荐对给予系统帐户对于所有包括HTTPD。
INI文件的文件夹的可写权限,这将允许产生HTTP。
PARSE。
ERRORS文件,这些文件包含配置文件语法错误。
对于PROXY模块也需要额外的权限,因为它将运行于连接池或HIGH-ISPLATED 应用模式,IIS帐户共享池和HIGH-ISOLATION池应被给予对RWHELPERE。
DLL的可读权限。
缺省情况下IWAM-《计算机名》被用于所有的池,在相应的COM+应用设置中应借助 COM+ADMINISTRATION MMC SNAP-IN建立池帐户配置文件格式化:有两种形式的配置文件-GLOBAL(SERVER-LEVEL)和INDIVIDUAL(SITE-LEVAL)文件,GLOBAL 配置文件应被命名为HTTPD.INI并出现在ISAPI-REWRITE安装目录中,文件的快捷方式通过开始菜单提供,INDIVIDUAL配置文件应名为HTTPD。
INI并且能够出现在虚拟站点的物理根目录中,两种类型的格式化是相同的并是标准的WINDOWS。
INI文件,所有的指令都应该放在这一部分并且所有指令都应该以分隔线放置,任何这一部分以外的文本都将被忽略HTTPD.INI文件示例[ISAPI_Rewrite]# This is a comment# 300 = 5 minutesCacheClockRate 300RepeatLimit 20# Block external access to the httpd.ini and httpd.parse.errors filesRewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]# Block external access to the Helper ISAPI ExtensionRewriteRule .*\.isrwhlp / [F,I,O]# Some custom rulesRewriteCond Host: (.+)RewriteCond 指令Syntax:(句法) RewriteCond TestVerb CondPattern [Flags]这一指令定义一个条件规则,在 RewriteRule 或者 RewriteHeader或 RewriteProxy指令前预行RewriteCond指令,后面的规则只有它的,模式匹配URI的当前状态并且额外的条件也被应用才会被应用。
TestVerbSpecifies verb that will be matched against regular expression.特别定义的动词匹配规定的表达式TestVerb=(URL | METHOD | VERSION | HTTPHeaderName: | %ServerVariable) where:URL - returns Request-URI of client request as described in RFC 2068 (HTTP 1.1);返回客户端在RFC2068中描述的需求的Request-URIMETHOD - returns HTTP method of client request (OPTIONS, GET, HEAD, POST, PUT, DELETE or TRACE);返回客户端需求(OPTIONS, GET, HEAD, POST, PUT, DELETE or TRACE)的HTTP方法VERSION - returns HTTP version;返回HTTP版本HTTPHeaderName - returns value of the specified HTTP header. HTTPHeaderName can be any valid HTTP header name. Hea der names should include the trailing colon “:”. If specified header does not exists in a client’s request TestVerb is treated as empty string.返回特定义的HTTP头文件的值HTTPHeaderName =Accept:Accept-Charset:Accept-Encoding:Accept-Language:Authorization:Cookie:From:Host:If-Modified-Since:If-Match:If-None-Match:If-Range:If-Unmodified-Since:Max-Forwards:Proxy-Authorization:Range:Referer:User-Agent:Any-Custom-Header得到更多的关于HTTP头文件的和他们的值的信息参考RFC2068ServerVariable 返回特定义的服务器变量的值。
例如服务器端口,全部服务器变量列表应在IIS文档中建立,变量名应用%符预定;CondPatternThe regular expression to match TestVerb规则表达式匹配TestVerb[Flags]Flags is a comma-separated list of the following flags:O (nOrmalize)Normalizes string before processing. Normalization includes removing of an URL-encoding, illegal characters, etc. This flag is useful with URLs and URL-encoded headers RewriteRule 指令Syntax: RewriteRule Pattern FormatString [Flags]这个指令可以不止发生一次,每个指令定义一个单独的重写规则,这些规则的定义命令很重要,因为这个命令在应用运行时规则是有用途的I (ignore case)不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令F (Forbidden)对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。