UrlRewriter && IIS7
为了在动态网站获得更好的url体验,往往采用url重写技术。
比如:http://blog.xujif.com/?p=268 可以重写为 http://blog.xujif.com/archives/wordpress-rss-feed-error/
更多介绍:传送门:http://msdn.microsoft.com/zh-cn/library/ms972974.aspx
IIS级别可以实现url重写。这里说的是asp.net级别的
在asp.net级别的url重写中,用到一个HttpModule模块
举个例子:新建类库
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | namespaceUrlRewrite{    publicclassUrlRewrite : IHttpModule    {        publicvoidDispose()        {            // throw new NotImplementedException();        }        publicvoidInit(HttpApplication context)        {            context.BeginRequest += newEventHandler(BeginRequest);        }        publicvoidBeginRequest(objectsender, EventArgs e)        {            HttpApplication app = sender asHttpApplication;            HttpUrlRewrite(app.Context);        }        publicvoidHttpUrlRewrite(HttpContext context)        {            stringurl = context.Request.Url.ToString();            context.RewritePath("~/Default.aspx", null, "url="+ url);        }    }} | 
这个例子是把对网站的所有请求都转发给~/Default.aspx,然后把请求的url作为参数传递它。
如果在Default.aspx.cs里
| 1 2 3 4 5 6 7 | protectedvoidPage_Load(objectsender, EventArgs e){Response.Write(Request["url"]);} | 
然后在web.config里注册一下啊 (确保UrlRewrite.dll已经编译到bin目录了)
| 1 2 3 4 5 6 7 | <system.web>    <httpModules>        <addname="UrlRewrite"type="UrlRewrite.UrlRewrite,UrlRewrite"/>    </httpModules>    <compilationdebug="true"/>    <pages/></system.web> | 
然后在vs里编译一下,就可以发现访问 http://site.com/xxxxxx.aspx 甚至 http://site.com/yyyy 都能输出了
但是,如果发布到iis7下去,又发现不工作了。
这时只要添加这一段到web.config,就可以了(不需要配置IIS7)(具体含义可以搜索单词)
| 1 2 3 4 5 6 | <system.webServer>    <modulesrunAllManagedModulesForAllRequests="true">        <addname="UrlRewriter"type="UrlRewrite.UrlRewrite,UrlRewrite"/>    </modules>    <validationvalidateIntegratedModeConfiguration="false"/></system.webServer> | 
如果是IIS6,则添加一个 “通配符应用程序映射”(或者实现为静态的.html等)
可执行文件从.aspx复制即可
去掉 确认文件是否存在的勾 就可以了
UrlRewriter && IIS7的更多相关文章
- framework4.0 IIS7下urlrewriter设置问题
		framework4.0 IIS7下urlrewriter设置问题 http://www.cnblogs.com/litian/articles/alex.html IIS开启伪静态后html静态页面 ... 
- IIS7下使用4.0框架集成模式URLRewriter重写中文URL乱码问题
		解决方法: 1 url中中文先通过Server.UrlEncode编码 2 修改网站编码 3.更改URLRewriter.net中源码 找到RewriterEngine类中 private strin ... 
- iis6|iis7|配置URLRewriter|64位操作系统下|.net2.0|.net4.0|配置URLRewriter|Web.config配置详情
		想必很多ASP.NET的码友们在IIS配置伪静态被严重纠结过不止一次两次,本园主经过多次站点伪静态配置,总结了一下,IIS版本:IIS 6.IIS 7,服务器:Windows Server 2003. ... 
- .NET4.0下网站应用法度用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的设备办法)
		.NET4.0下网站应用法度用UrlRewriter.dll重写无后缀路径 在IIS中新建网站(端标语8111) 直接运行http://localhost:8111/ 设备办法: 二.添加通配符脚本映 ... 
- IIS7.0 下使用Intelligencia.UrlRewriter时Session为空问题
		背景 新年伊始,本人的开发环境由Windows Server 2003 +IIS 6 升级成了 Windows Server 2008 +IIS 7,之后便着手参加新项目的开发.项目开发后期测试过程中 ... 
- IIS7下.NET4.0 网站UrlRewriter.dll重写无后缀路径 失效
		解决方法: 1.添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 2.找到和网站相对的连接池,选择 ... 
- IIS7.5+WebConfig实现页面伪静态和301重定向
		IIS7.5+WebConfig实现页面伪静态和301重定向 使用URLRewriter组件在windows 2003 +iis 6.0下配置伪静态的文章网络上一大堆.但在iis7.0或iis 7.5 ... 
- IIS7.5 伪静态 脚本映射 配置方法
		首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为7.0,我们知道,IIS7.0与IIS6.0 核心注意的地方:先要将应用池设置为集成模式,修改OK后,再 ... 
- ASP.NET在IIS7.5(IIS7)配置伪静态
		http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 我相信不少站长都遇到个头疼的问题..NET如何在IIS7或者IIS7.5下 ... 
随机推荐
- 001.VNC介绍
			一 VNC介绍 VNC 服务是一个自由开源软件,采用RFB通信协议.RFB ("remote 帧缓存 ") 是一个远程图形用户的简单协议,因为它工作在帧缓存级别上,所以它可以应用于 ... 
- Python3 CNN中卷积和池化的实现--限制为二维输入
			# -*- coding: utf-8 -*- """ Created on Wed Jan 31 14:10:03 2018 @author: markli " ... 
- 3种纯css方法控制元素隐藏显示
			1.通过hover,也是最常用的方式.此方法要求按钮与被控制元素必须有层级关系.(兼容低端浏览器常用) <div class="nav-btn"> <h2> ... 
- [POI2013]Polaryzacja
			[POI2013]Polaryzacja 题目大意: 给定一棵\(n(n\le250000)\)个点的树,可以对每条边定向成一个有向图,这张有向图的可达点对数为树上有路径从\(u\)到达\(v\)的点 ... 
- django orm 优化
			.markdown-body hr::after,.markdown-body::after{clear:both}.loopLine,.messageLine0{marker-end:"u ... 
- 自动添加 Qt 开发生成的 exe 所需的依赖环境
			双击获取 exe 文件路径 cd 进入文件目录的命令 调用 Qt 自带的软件进行环境配置,命令如下 windeployqt ***.exe 自动配置了依赖环境 
- CentOS启动OpenVPN报错:Failed to start OpenVPN Robust And Highly Flexible Tunneling Application On server.
			tailf /var/log/openvpn.log 查看日志,里面有最详细的错误解说. 参考: https://forums.openvpn.net/viewtopic.php?t=21561 
- MikroTik RouterOS官方教程Wiki(入门教程)
			https://wiki.mikrotik.com/wiki/Manual:TOC 其实还有一本<ROS从入门到精通> 学习路由可以从这两个教程先入手. 
- rabbitmq的发布确认和事务 - 2207872494的个人空间
			rabbitmq的发布确认和事务 - 2207872494的个人空间 https://my.oschina.net/lzhaoqiang/blog/670749 
- 关于bootstrap的treeview不显示多选(复选框)的问题,以及联动选择的问题,外加多选后取值
			最近做项目用到了treeview.因为涉及到多选的问题,很是棘手,于是乎,我决定查看原生JS,探个究竟.需要引用官方的bootstrap-treeview.js都知道吧,对于所需要引用的,我就不多说了 ... 
