求一个ISAPI_Rewrite规则
来源:百度知道 编辑:UC知道 时间:2024/07/08 01:10:43
比如访问地址为/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