求一个ISAPI_Rewrite规则

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:10:43
RewriteRule /tag/(.*)/ /index.asp\?key=$1 [N,I]
比如访问地址为/tag/关键字/
把变量key输出后 确是关键字/ 而不是关键字 多了一个/

请问该怎么改????
RewriteRule /tag/(.*) /index.asp\?key=$1 [N,I]
这样确实可以但是
RewriteRule /tag/(.[^\/]*)/([0-9]+) /index.asp\?skey=$1$page=$2 [N,I] 这样的话
比如访问地址是
/tag/关键字/2/
正常得到的结果是 sKey=关键字 page=2
但是事实得到的结果是 skey=关键字/2/ page=空
因为前一个正则表达是匹配所有字符

我想实现的是
/tag/中文数字字母字符串/数字页数/
打开的是
/index.asp?skey=中文数字字母字符串&page=数字页数

楼下给的还是不行 还是把所有都包含进去了

用下面这两条规则可以实现你要的功能:
RewriteRule /tag/(.*)/([0-9]+)/$ /index.asp\?key=$1&page=$2
RewriteRule /tag/(.*)/([0-9]+)$ /index.asp\?key=$1&page=$2

已测试通过。

ISAPI_Rewrite 规则对大小写敏感,偶google了大半天,终于知道如何忽略大小写了
I (ignore case)不管大小写强行指定字符匹配
例:RewriteRule /code/project/([0-9,a-z]*).html /soft.jsp\?softpy=$1 [I]

其他的参数一览
I (ignore case)
不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令

F (Forbidden)
对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。

L (last rule)
不应用任何重写规则在此停止重写进程,使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写

N (Next iteration)
强制REWRITINGENGINE调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果这个数值超过N FLAG将被忽略

NS (Next iteration of the same rule)
以N标记工作不从相同的规则重启规则规则进程(例如强制重复规则应用),通过RepeatLimit指令指定一个反复实行某一规则的最大数目,

P (force proxy)
强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求,必须确认代理字符串是一个有效的URI包括协议 主机等等否则代理将返回错误

R (explicit redire