社区
IIS
帖子详情
ISAPI Rewrite的问号匹配问题
tsenfine
2009-02-09 05:08:13
写rewriterule用到:
/?kkkkkk
要匹配到
/reg.php?id=kkkkkk
请问如何写正则规则?主要是这个问号
RewriteRule /?(.*)$ /reg\.php\?id=$1
RewriteRule /\?(.*)$ /reg\.php\?id=$1
RewriteRule /[?](.*)$ /reg\.php\?id=$1
都不行
...全文
1156
28
打赏
收藏
ISAPI Rewrite的问号匹配问题
写rewriterule用到: /?kkkkkk 要匹配到 /reg.php?id=kkkkkk 请问如何写正则规则?主要是这个问号 RewriteRule /?(.*)$ /reg\.php\?id=$1 RewriteRule /\?(.*)$ /reg\.php\?id=$1 RewriteRule /[?](.*)$ /reg\.php\?id=$1 都不行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coogege
2012-08-09
打赏
举报
回复
哎,苦命的人啊,几年了,还是没解决,我也在苦恼
Adensky
2012-04-12
打赏
举报
回复
几年过去啦,不知道楼主现在解决没
whnczx
2010-05-06
打赏
举报
回复
t.com/pub/5000?totalresult=3&pageno=1 导航到 news_pub.php?totalresult=3&pageno=1&cid=5000
RewriteCond %{QUERY_STRING} ^totalresult=(\w+)&pageno=(\w+)$
RewriteRule ^pub/(\w+)$ news_pub.php?totalresult=%1&pageno=%2&cid=$1 [L]
自己研究下
fxs_2008
2009-10-20
打赏
举报
回复
看看这里吧
http://www.zzxj.net/blog/fxs_2008/archive/2009/10/06/63.html
tsenfine
2009-04-26
打赏
举报
回复
今天结贴了,这个问题还是没解决
archu
2009-02-10
打赏
举报
回复
[Quote=引用 22 楼 tsenfine 的回复:]
是的,我的是最新版的ISAPI_Rewrite3,不过是免费版本的
IIS的这个问题难道没法解决吗?
[/Quote]
这个不是IIS的问题,而是ISAPI Rewriter的问题,你最好去它们网站上看看有什么方法吧。
总之,我在我这边测试的结果没有什么问题。而且,你在它自带的RegexTest.exe测试也不成功?我是成功的。
shagoo
2009-02-09
打赏
举报
回复
这是因为 url 里面 ? 后面的不被 apache 认为是 requested uri 的内容,所以你怎么写都无法取得。
建议你修改 url 格式:比如把 ? 去掉;或者改变获取方式:比如改成 RewriteRule /?(.*)$ /reg.php?id=$1&%{QUERY_STRING} 你看看 rewrite log 相信可以看出解决方案,希望对你有帮助 :)
archu
2009-02-09
打赏
举报
回复
上面的错了,应该是这样:
RewriteRule /\?(.*)$ /reg.php?id=$1 [I]
archu
2009-02-09
打赏
举报
回复
RewriteRule /?(.*)$ /reg.php?id=$1 [I]
tsenfine
2009-02-09
打赏
举报
回复
是的,我的是最新版的ISAPI_Rewrite3,不过是免费版本的
IIS的这个问题难道没法解决吗?
shagoo
2009-02-09
打赏
举报
回复
rewrite cond 是 condition 应该不是这个问题,这样现象估计是环境问题的可能最大。apache 是把 ? 后面的直接划到 %{QUERY_STRING} 里面了 不知道 ISAPI Rewrite 是什么规则 对了你们都是 ISAPI_Rewrite3 吗?
tsenfine
2009-02-09
打赏
举报
回复
我只加载了C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll 这个模块,没有其他的filter
我也在IIS中新建了其他站点测试,仍旧不行,唉~
文档上面的确提到了用\转义,但我自己和其他人却都遇到这个问题,不知道是不是需要用到rewritecond这个东西
比如http://hi.baidu.com/lostdays/blog/item/247093cbfe1c20fb53664f1c.html 提到的,虽然是apache的,但似乎也差不多
archu
2009-02-09
打赏
举报
回复
大致看了一下,用"\"转义应该是没有问题的,你可以看参考文档:http://www.isapirewrite.com/docs/#RegexSynt
至于你遇到的问题,我现在所能怀疑到的只能是其它的ISAPI filter影响了ISAP_WRITER的运行。
你看看一下IIS Manager里面:Web sites->Properties, "ISAPI Filters"选项卡上面,是不是ISAPI_Rewrite在第一个
shagoo
2009-02-09
打赏
举报
回复
这样说来的确奇怪,建议你们把配置交换看看?
tsenfine
2009-02-09
打赏
举报
回复
2003上的6.0,我之前发的那些链接不知道你有没有看,也是我这样的问题:
http://topic.csdn.net/u/20080107/16/961809d2-f119-4f56-8205-1f56405f0eac.html?seed=426171994
http://www2.matrix.org.cn/thread.shtml?topicId=43975&forumId=19&fid=19
archu
2009-02-09
打赏
举报
回复
这就奇怪了,你IIS版本多少?
我是IIS6.0
至于问号的转义,我想应该没有问题。
tsenfine
2009-02-09
打赏
举报
回复
删掉default.asp不行,都删掉也不行,就是不启用默认文档也不行,到底是怎么回事啊?
archu
2009-02-09
打赏
举报
回复
我知道你什么原因了,你把default.asp从默认文档的配置里面删除掉,最好把所有的默认文档全部删掉。
我稍候给你一篇参考文章。
tsenfine
2009-02-09
打赏
举报
回复
我的ISAPI Rewriter配置跟你的一模一样的,但确实不行,这是什么原因?
用/?abc访问的日志里并无get到reg.asp,而是get到原来的default.asp
但规则如果改为
RewriteRule /t/(.*)$ /reg.php?id=$1 [I]
然后用/t/abc就可以访问到
/reg.php?id=abc
所以我的ISAPIRewriter配置并无错误,而且我觉得就是那个问号需要转义的问题
archu
2009-02-09
打赏
举报
回复
[Quote=引用 10 楼 tsenfine 的回复:]
我既使用了ISAPIRewrite自带的RegexTest.exe测试,也用直接访问的方式测试了,都不行
RegexTest里测试直接就提示无法匹配
archu你可以写个localhost/reg.asp,
asp文件内容就一句:
<%=request.querystring("id")%>
正则表达式就用你写的(把php改为asp)
然后直接访问localhost/?abc看看能否显示出结果是:abc ?
感谢关注这个问题
[/Quote]
当然没有问题了,从IIS日志就看得出来转向没有任何问题。你看看你的IIS日志显示什么。另外,我的ISAPI Rewriter的配置文件用的是
安装目录下的C:\Helicon\ISAPI_Rewrite\httpd.ini
因为我以前试过放在网站目录下不生效。
加载更多回复(8)
I
SAP
I_
Rewrite
3_0056_Lite
一款可用于静态化url的软件,可用,共享一下呵呵
科汛V4.5伪静态的实现正则规则
科汛V4.5伪静态的实现正则规则
I
SAP
I
Rewrite
配置简介
I
SAP
I
Rewrite
配置简介:在NT/2000/XP和2003平台上,I
SAP
I
Rewrite
在系统帐户下射入INETINFO进程与 IIS 以共存模式过滤器运行。所以系统帐户应该给予对I
SAP
I- REWIRITE DLLS Internet匿名访问组 可读可执行权限 和所有的 HTTPD。INI 文件可读权限,还应该给予
I
SAP
I
Rewrite
2 规则中文版
发这个帮助文件是因为在给朋友设置主机的时候发现他们的I
SAP
I
Rewrite
的设置都有些不正确,有些甚至阻碍了站点的正常运行。就把官方自带的英文帮助粗略的翻译了一下。大家可以自由使用和转载。但转载时如果你愿意请注明是 蓝色 翻译的版本。 ===================I
SAP
I
Rewrite
配置简介: 在NT/2000/XP和2003平台上,I
SAP
I
Rewrite
在系统帐户下...
I
SAP
I_
Rewrite
3.1教程中文版
第一章:软件介绍 I
SAP
I_
Rewrite
是一款适用于IIS的功能强大的基于正则表达式的URL处理模块。它兼容Apache的mod_
rewrite
的语法,从而使仅仅复制.htaccess文件就把配置从appach移植到IIS中或者从IIS移值到appach中变成可能。请参阅3.2兼容性图表这一节。 I
SAP
I_
Rewrite
最重要的功能: ·I
SAP
I_
Rewrite
提供了和Apach
IIS
8,329
社区成员
16,637
社区内容
发帖
与我相关
我的任务
IIS
Web 开发 IIS
复制链接
扫一扫
分享
社区描述
Web 开发 IIS
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章