.NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
2011-11-08 15:12
423 查看
示例环境:VS2010
要求:
重写前:http://localhost:13275/Default.aspx?username=wilson重写后:http://localhost:13275/wilson
第一步:下载相关DLL(ActionlessForm.dll和UrlRewriter.dll)
下载链接一: http://download.csdn.net/detail/porschev/3704868 下载链接二: http://files.cnblogs.com/zhongweiv/Lib.rar第二步:VS2010创建测试网站应用程序,并添加以上DLL的引用
PS: 操作步骤省略,我想都会第三步:在项目中添加asp.net文件(App_Browsers)
App_Browsers这个我们比较少用App_Browsers文件夹包含.browser文件,.browser文件是XML文件,可以标识向应用程序发出请求的浏览器,并理解这些浏览器的功能。
在C:\Windows\Microsoft.NET\ Framework\v2.0.50727\CONFIG\Browsers中有一个可全局访问的.browser文件列表。另外,如果要
修改这些默认的浏览器定义文件,只需将Browsers文件夹中的对应.browser文件复制到应用程序的\App_Browsers文件夹,修改其定义即可。
如果对这些Asp.Net文件夹了解不多可以看看这篇文章,相信很有帮助
http://blog.csdn.net/icecityman/article/details/4748018
1.选择项目--->右键添加--->添加asp.net文件夹--->App_Browsers
2.在App_Browsers下创建Form.browser文件
<browsers> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="URLRewriter.Form.FormRewriterControlAdapter"/> </controlAdapters> </browser> </browsers>
PS: refID:不可以与ID和arentID同时存在
第四步:配置web.config
1 .在configuration节点下添加<configSections> <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/> </configSections> <CustomConfiguration> <urls> <!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成--> <add virtualUrl="~/([\w]+)*" destinationUrl="~/Default.aspx?username=$1"/> </urls> </CustomConfiguration>
PS:正则的部分,要根据不同的规则去写,如果有不会的,可以留下详细规则,我看到后会尽快回复!!
2.在System.web节点下添加
<httpModules> <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/> </httpModules>
解释一下httpModules的的Add节点属性:
type:HttpModule的标识号和类库名称
name:取一个较为友好的名称
用MSDN的截图来解释一下
![](http://pic002.cnblogs.com/images/2011/116288/2011110210041167.png)
第五步:测式
1.在项目Default.aspx.cs文件Load事件中加入if (!IsPostBack) { StringBuilder sb = new StringBuilder(); sb.Append("当前所在位置:Default.aspx<br/>"); if (!string.IsNullOrEmpty(Request.Params["username"])) { sb.Append("所接收到的参数username:" + Request.Params["username"]); } Response.Write(sb.ToString()); }
这里的测试主要是测试直接用重写后规则访问,看是否访问成功,并测试是否能够接收到username参数
还有输入重写前的地址,是否能访问成功
测试一:找开----->http://localhost:13275/Default.aspx
结果(aspx页输出)------>当前所在位置:Default.aspx
测试二:找开----->http://localhost:13275/wilson
结果(aspx页输出)------>当前所在位置:Default.aspx
所接收到的参数username:wilson
第六步:在IIS7.5里配置
完成前五步后,直接运行VS可以重写成功,但发布在IIS中时就会有相应的错误,这样需要配置一下IIS,详情请看下面博客地址
http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html
源码下载地址一:http://download.csdn.net/detail/porschev/3705332源码下载地址二:http://files.cnblogs.com/zhongweiv/UrlRewriterDemo.rar
相关文章推荐
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- 转载:.NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- .NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径
- .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)
- IIS7下.NET4.0 网站UrlRewriter.dll重写无后缀路径 失效
- .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)
- .NET4.0下网站应用法度用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的设备办法)
- 微软URLRewriter.dll的url重写在.net简单使用
- URL重写,静态地址映射,asp.net URL重写,URLRewriter.dll下载,URLRewriter,URLRewriter下载,URL重写学习(终级篇)
- Intelligencia.UrlRewriter.dll重写URL的规则例子
- UrlRewritingNet.UrlRewriter.dll重写实例
- 使用URLRewriter重写后,相同后缀后的真实静态文件无法访问的解决办法
- Intelligencia.UrlRewriter.dll aspx重写为html实例(asp.net 2.0)
- UrlRewritingNet.UrlRewriter.dll 重写iis7.5 404错误
- iis6|iis7|配置URLRewriter|64位操作系统下|.net2.0|.net4.0|配置URLRewriter|Web.config配置详情
- 借助微软提供的url重写类库URLRewriter.dll(1.0)实现程序自动二级域名,域名需要泛解析
- URL重写,静态地址映射,asp.net URL重写,URLRewriter.dll下载,URLRewriter,URLRewriter下载,URL重写学习(终级篇)
- 使用IHttpHandler接口实现【不同路径+任意URL后缀重写到指定页面且URL地址不变】(附源码)_AX