首页 新闻 会员 周边

使用URLRewrite时遇到的问题,寻高手帮忙!!

0
悬赏园豆:100 [已关闭问题]

我使用了URLRewrite,并设置了通配符.*
一切OK。在最后一步出现了问题,就是当文件夹的默认首页。
我挂在本地测试。
如:
192.168.0.10/abc
abc文件下有个index.aspx页面,此时在IIS中设置默认首页为index.aspx不管用,只能通过写URL规则来实现,所以写了以下规则:
<RewriterRule>
<LookFor>~/abc </LookFor>
<SendTo>~/abc/index.aspx </SendTo>
</RewriterRule>

OK。实现。但是。。。
首页却不行。我的首页放在项目根目录下。index.aspx
同样的IIS默认首页不灵,所以写了规则:
<RewriterRule>
<LookFor>~/ </LookFor>
<SendTo>~/index.aspx </SendTo>
</RewriterRule>
不灵。
再写一个:
<RewriterRule>
<LookFor>http://192\.168\.0\.10/ </LookFor>
<SendTo>~/index.aspx </SendTo>
</RewriterRule>
还是不灵。

此时访问192.168.0.10时报的是“未将对象引用设置到对象的实例”。

不知道为何解决。其它二级目录都没问题。就根目录首页不行。弄了两天了,毫无进展。
我个人感觉应该就只差一点点,具体是哪一点点我实在是研究不明白了。或者说这种情况在本地测试是行不通的,只有挂到服务器上直接将"http://www.abc.com/" sendto "~/index.aspx"就OK了?
有没有高手帮忙解决一下。

万份感谢!!

问题就出在了通配符.*
<add verb="*" path="*" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

由于我需要实现类似:
192.168.0.10/cde
定向位:
192.168.0.10/abc.aspx?i=cde
这种效果。
所以只能使用.*
但这个时候也就出现了我上述的问题。

当然如果不用通配符的话.是没有问题的.但实现不了上面的效果.

Chars的主页 Chars | 初学一级 | 园豆:100
提问于:2009-11-15 12:35
< >
分享
其他回答(1)
0

<LookFor>~/(\d+)\.aspx</LookFor>

<SendTo>~/abc.aspx?i=cde </SendTo>

lookfor 里面写你要匹配的正则规则啊

persialee | 园豆:3217 (老鸟四级) | 2009-11-15 15:12
嗯.是这样儿写的.所有规则都好使.只有首页的不好使. 也就是: <LookFor>~/</LookFor> <SendTo>~/index.aspx</SendTo> 不好使.其它的一切正常.
支持(0) 反对(0) Chars | 园豆:100 (初学一级) | 2009-11-15 15:19
0

以前在vs03下用过这个,也是这个问题,无论如何设置都没办法跳转网站首页的。好像是urlrewrite本身就有这个问题的。

现在在05下使用urlrewrite.net来做静态路径就没这个问题了。

迷路中的路人甲 | 园豆:93 (初学一级) | 2009-11-16 07:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册