不用设置iis .net 实现urlrewrite

来源:互联网 发布:叶琦菲捏脸数据 编辑:程序博客网 时间:2024/04/29 22:23

 不用设置iis .net 实现urlrewrite

说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用
12345.aspx替换
show.aspx?id=12345这样的地址访问

程序要调整的部分只有两块。
一是web.config文件。
二是链接地址。
所需dll。urlrewrite.dll

好了开始实施。
第一步:将urlrewrite.dll下载到你的web程序目录里去。哪都行。我是放在bin里面的。然后添加引用。在整个程序上添加引用。将urlrewrite.dll引用进来。
第二步:修改web.config
这一步要修改两个地方。要注意位置是不同的

1、
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(/d+)/.(aspx|html)</LookFor>
<SendTo>~/show.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/news(/d+)/.(aspx|html)</LookFor>
<SendTo>~/ShowNews.aspx?newsid=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
这一段要添加在<configuration>的下面。<connectionStrings/> <system.web>的上面。
2、
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
这段要添加在<system.web>的下面。OK。保存。位置要搞清楚。

要不然效果可实现不了。

现在去建立一个页面。为show.aspx然后在里面写个response.write这样的把url里面的id写出来。这个不用讲就会了吧。看到这里连这个都不会就不会看这篇文章了。看了也白看。
先用show.aspx?id=1234打开。保存页面里面显示的是1234
然后再去试试用1234.aspx。看到什么了?如果还是1234的话就恭喜你成功了。