ASP.NET 中执行 URL 重写
2014-06-03 11:15
555 查看
具体实现步骤(其中的一种实现方法):
2、在配置文件web.config中system.web节点内添加httpModules
3、然后就是在configuration节点下添加(必须是第一个子节点):
如上,在不需要传参的情况下,可以直接在virtualUrl里面写要转化地址,destinationUrl为真实地址。在需要传参的情况下,用正则表达式代替,多个参数,在destinationUrl中用&分隔,在virtualUrl中用自己规定的符号代替,我是用的‘/’分隔的。
4、测试,在Default的Page_Load中添加如下代码
结果如下:
![](http://pic002.cnblogs.com/images/2012/431820/2012081920235657.jpg)
5、加入窗体回传保持的组件:
在你的这个页面中加入: <%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %> 再把你的<Form...>改为: <skm:Form id="你的表单名" method="post" runat="server"> ..... </skm:Form>
6、在IIS7.5里配置
错误截图
![](http://pic002.cnblogs.com/images/2011/116288/2011110112112060.png)
配置方法:
![](http://pic002.cnblogs.com/images/2011/116288/2011110112114932.png)
![](http://pic002.cnblogs.com/images/2011/116288/2011110112121314.png)
![](http://pic002.cnblogs.com/images/2011/116288/2011110112125246.png)
![](http://pic002.cnblogs.com/images/2011/116288/2011110112130124.png)
一、下载相关的DLL(ActionlessForm.dll和UrlRewriter.dll)
http://download.csdn.net/detail/yingwanghbx/4510059二、在项目中引用那两个DLL文件
右击项目,点击Add Reference,选择Browse,然后选择相应的DLL,点击OK即可。三、添加browser文件
1、右击项目,点击Add-New Item,选择Browser File,取个有意义的名字。在生成的*.browser文件的browsers节点中添加如下代码:<!--URLRewriter--> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="URLRewriter.Form.FormRewriterControlAdapter"/> </controlAdapters> </browser>
2、在配置文件web.config中system.web节点内添加httpModules
<!--URLRewriter type:HttpModule的标识号和类库名称 name:取一个较为友好的名称--> <httpModules> <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/> </httpModules>
3、然后就是在configuration节点下添加(必须是第一个子节点):
<!--URLRewriter--> <configSections> <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/> </configSections> <CustomConfiguration> <urls> <!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成--> <add virtualUrl="~/Default/([\w]+)*" destinationUrl="~/Default.aspx?username=$1"/> <add virtualUrl="~/Default/([\w]+)*/([\w]+)*" destinationUrl="~/Default.aspx?newsTypeId=$1&newsWhere=$2"/> <add virtualUrl="~/page/user/login" destinationUrl="~/page/user/login.aspx"/> <add virtualUrl="~/page/user/registe" destinationUrl="~/page/user/registe.aspx"/> <add virtualUrl="~/page/index" destinationUrl="~/page/index.aspx"/> </urls> </CustomConfiguration>
如上,在不需要传参的情况下,可以直接在virtualUrl里面写要转化地址,destinationUrl为真实地址。在需要传参的情况下,用正则表达式代替,多个参数,在destinationUrl中用&分隔,在virtualUrl中用自己规定的符号代替,我是用的‘/’分隔的。
4、测试,在Default的Page_Load中添加如下代码
if (!string.IsNullOrEmpty(Request.Params["newsTypeId"])) { string newsId = Request.Params["newsTypeId"].ToString(); string newsWhere = Request.Params["newsWhere"].ToString(); Response.Write("newsid:" + newsId + "<br/>newsWhere:" +newsWhere); }
结果如下:
![](http://pic002.cnblogs.com/images/2012/431820/2012081920235657.jpg)
5、加入窗体回传保持的组件:
在你的这个页面中加入: <%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %> 再把你的<Form...>改为: <skm:Form id="你的表单名" method="post" runat="server"> ..... </skm:Form>
6、在IIS7.5里配置
在IIS中新建网站(端口号8111)
直接运行http://localhost:8111/错误截图
![](http://pic002.cnblogs.com/images/2011/116288/2011110112112060.png)
配置方法:
![](http://pic002.cnblogs.com/images/2011/116288/2011110112114932.png)
二、添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
![](http://pic002.cnblogs.com/images/2011/116288/2011110112121314.png)
三、找到和网站相对的连接池,选择framework 4.0 经典模式
![](http://pic002.cnblogs.com/images/2011/116288/2011110112125246.png)
![](http://pic002.cnblogs.com/images/2011/116288/2011110112130124.png)
四、选择应用程序连接池,高级设置,启用32位应用程序,设为true
![](http://pic002.cnblogs.com/images/2011/116288/2011110112131224.png)
相关文章推荐
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写 -----作者:frogJ 来源:http://blog.csdn.net/frogJ/
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写(ZZ FROM MSDN)
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- ASP.NET 中执行URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写(转贴)
- 在 ASP.NET 中执行 URL 重写
- ASP.NET 中执行 URL 重写
- 在 ASP.NET 中执行 URL 重写