请问在asp.net 中如何把
http://127.0.0.1/CDel/20 (此地址IIS说无法找到)
重写成 http://127.0.0.1/control/CDel.aspx?ID=20
在先等待,搞了一天都没搞好!@
分全给了!
(此地址IIS说无法找到)
应该是把 http://127.0.0.1/control/CDel.aspx?ID=20 重写成 http://127.0.0.1/CDel/20 这个吧?
先说你用的哪个URLRewrite组件,然后再给你匹配的正则式。
正则表达式 :lookFor="http://127.0.0.1/CDel/(\d*)" writeTo="http://127.0.0.1/control/CDel.aspx?ID=$1"
webconfig加这样的节点看看
<rewriter>
<rewrite url="~/tags/(.+)" to="~/tag/tagcloud.aspx?tag=$1" />
<rewrite url="~/video" to="~/Class/Default.aspx" />
<rewrite url="~/class/(.+)" to="~/Class/Default.aspx?classid=$1" />
</rewriter>
查一下,webconfig配置中httphander,httpmoudel两个配置节的相关配置吧,这两个就可以满足你的要求了,具体我也没配置过(因为正则不好),但我知道是这两个配置节。。。。。
如果想弄的复杂一些,功能多一些的话,找UrlRewriter。。。
如果是放到服务器上,必须对IIS设置下。
我来说几下:
第一:你用的目录级的转向,因此,需要使用URL重写组件或者在IIS6.0中添加通用映身即可。xp下是没有通用映身的。如果是IIS7.0默认好像支持目录级转身。
具体可以看http://www.cyqdata.com 支持全目录级转向,也支持自定义后缀转向。
第二:于是第一点需要使用组件或设置IIS添加映射,如果你买的虚拟主机,你需要联系客服给你解决,传说添加组件时需要重启IIS,这样会影响同一服务器的其它用户,所以不是自己服务器就不要用这种方式了。
第三:很多网站都使用shtml后缀,是因为默认iis6.0会处理这种后缀,使用这种后缀做Url重写,方便。