C# .Net实现Url地址重写(伪静态)的方法
URL重写简单原理:
url重写是截取传入Web请求并自动将请求重定向到其他URL的过程。
比如浏览器发来请求hostname/news/101.html,服务器自动将这个请求中定向为http://hostname/news/list.aspx?id=101。
url重写的优点:
缩短url,隐藏实际路径提高安全性;
易于用户记忆和键入;
易于被搜索引擎收录;
实现URL重写的几个步骤:
第一:
下载MS的URLRewriter.dll,放到你的类文件下
然后点击引用这个DLL文件
URLRewriter.dll下载地址:
1、URL重写urlrewriter.dll组件下载地址(附完整示例代码)
2、微软URL重写组件urlrewriter.dll下载地址
第二:
系统为服务器版的设置:
在IIS的项目下 属性->主目录->配置-> 通配符应用程序映射(执行程序)添加aspx的映射
直接点击插入,在可执行文件框里填入C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll(这个目录取决于你的VS安装目录),然后在“确认文件是否存在”项的勾去掉。确定保存!
系统为非服务器版的设置:
在IIS的项目下 属性->主目录->配置-> 通配符应用程序映射(执行程序)添加aspx的映射
可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选
第三:
然后在 web.config 里设置如下:
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
..................................
<RewriterConfig>
<Rules>
<!--应用规则-->
<RewriterRule>
<LookFor>~/news/(\d+)\.html</LookFor>
<SendTo>
<![CDATA[~/news/list.aspx?page=$1]]>
</SendTo>
</RewriterRule>
<!--可建立多个应用规则和多个参数传值-->
<RewriterRule>
<LookFor>。。。。。。。。</LookFor>
<SendTo>
<![CDATA[。。。。。。。]]>
</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
...
<system.web>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
...
</system.web>
</configuration>
最后,在对应的ASPX文件中接收相应的参数,即可实现生成伪静态了。
有兴趣的朋友,亲自测试下吧,实现伪静态页面效果的那一刻,你会很有成就感的。
您可能感兴趣的文章:
aspnet_isapi.dll实现无后缀名的url重写(伪静态)
php 伪静态 url重写简单示例
php伪静态如何获取地址栏url
C# .Net实现Url地址重写(伪静态)的方法
伪静态几种做法
asp.net 伪静态 URL重写的纯代码实现方法
windows与linux伪静态规则写法
php 伪静态(url重写)的写法
在web.config文件中配置伪静态的方法介绍
IIS7 伪静态支持环境配置(修改web.config)