首先简介:
你所说的httpd.ini就是ISAPI_Rewrite
ISAPI_Rewrite是一个功能强大的网址操纵发动机的基础上正则表达式。它的行为是像Apache的mod_Rewrite
,但专为微软的Internet信息服务(
IIS
)
。
所以他是可以用来做基于iis的任何程序开发的伪静态(asp,asp.net,php,cgi等等)
2.用法:
#
排除当前虚拟主机需要正常访问的域名(web.eboat.cn
www.eboat.cn)
#
RewriteCond
Host:
(?:web|www)\.eboat\.cn
#
多数情况下是一个,即当前提供二级域名服务的系统(如建站系统)
RewriteCond
Host:
web\.eboat\.cn
RewriteRule
(.*)
$1
[L]
#
解决不规范目录(末尾无/)的问题
#
但前提是目录名不含‘.’而文件名必须包含,否则无法区分两者
#
RewriteRule
^/([^.]+[^/]$)
/$1/
[L,R]
#
提取任意的二级域名名称(即第一个词汇)
#
用[a-zA-Z0-9_-]限制名称字符,重写Url到Home/子目录下
#
如
test.eboat.cn
=>
web.eboat.cn/Home/test
RewriteCond
Host:
([a-zA-Z0-9_-]+)\.eboat\.cn
RewriteRule
^/(.*)
/Home/$1/$2
[I,L]
[ISAPI_Rewrite]
RepeatLimit
1
#
Defend
your
computer
from
some
worm
attacks
RewriteRule
.*(?:global.asa|default\.ida|root\.exe|\.\.).*
.
[F,I,O]
#
排除当前虚拟主机需要正常访问的域名(web.eboat.cn
www.eboat.cn)
#
RewriteCond
Host:
(?:web|www)\.eboat\.cn
#
多数情况下是一个,即当前提供二级域名服务的系统(如建站系统)
RewriteCond
Host:
web\.eboat\.cn
RewriteRule
(.*)
$1
[L]
#
解决不规范目录(末尾无/)的问题
#
但前提是目录名不含‘.’而文件名必须包含,否则无法区分两者
#
如果保证URL中的目录名称规范,则无需此规则
RewriteRule
^/([^.]+[^/]$)
/$1/
[L,R]
#
提取任意的二级域名名称(即第一个词汇)
#
用[a-zA-Z0-9_-]限制名称字符,重写Url到Home/子目录下
#
如
test.eboat.cn
=>
web.eboat.cn/Home/test
RewriteCond
Host:
([a-zA-Z0-9_-]+)\.eboat\.cn
RewriteRule
^/(.*)
/Home/$1/$2
[I,L]
3.局限:免费版本仅对全局所有网站有效,付费版本可以单独放在某一个站点下影响局部
你RewriteRule ^(.*)/([a-z]*)/([a-z]*)/ $1/About.Asp?x=$2&y=$3 这里转化,需要about.asp 有x y连个参数的,你上面写法还是有哦问号存在的,我一般是这样写的RewriteRule /NewsView-([0-9]*).html /NewsView.Asp?id=$1
asp伪静态化安装说明:1、在IIS的Isapi上添加这个筛选器,筛选器名称 re,可执行文件选择 Rewrite.dll ;2、设置httpd.ini文件RewriteRule /news/(\d+)\.html /jsp/news\.jsp\?id=$1 [N,I]表示将news.asp?id=95 转换成news/95.html以此类推,如果你有更多的参数,则增加相应的(\d+),而后面的id=$1,则增加id=$2,等等。
目前较为普遍的动态网页包括asp,php,jsp,shtml,jhtml,cgi......甚至还有一些自己定义的,比如:aspx,do,index,hello 等等。表现形式为:news.asp?id=95。建议读者通过re_write将其转换成news/95.html,以便于google对改网页的识别。re_write是iis里的一个模块,当需要将news.asp?id=95的映射成news/95.html时,只需设置httpd.ini文件:RewriteRule /new
如果你在处理数据翻页,那么写法是:
More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)
表现形式:More_1_95.html
如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:
More_3_95.html,以此类推。
不过你需要在httpd.ini文件中增加以下代码:
RewriteRule /More_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&type=$2 [N,I]
如果你的动态程序有多个参数需要传递,那么就增加多个(\d+)即可,如下:
RewriteRule /More_(\d+)_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&type=$2&type2=$3 [N,I]
翻页处理表现形式是:More_1_95.html
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)