UrlRewriter 重写的问题
1.今天在研究url重写问题的时候,发现在vs里运行.html的文件可以,但在iis上不行,下载了好多urlrewriter,又更改iis 站点的isapi 使其指向.html ,但还是没有解决问题,看了一篇文章(文章如下),才明白,只需要:右键点击站点--》属性--》虚拟目录--》配置--映射--》选中.aspx --》复制“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”--》取消--》点击”添加“--》将“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,复制到可执行文件 里,添加扩展名.html-->记得取消“检查文件是否存在”,否则不起作用--》确定,这个时候就可以在iis查看,重写的URL了
文章如下:
在Windows Server 2003中安装
如果您想使用UrlRewriter.NET但是又不想或不能改动IIS设置到时候,UrlRewriter.NET的功能将会受到限制,不能完美发挥它原有的功能。如果您想使用UrlRewriter.NET的所有功能,就必须对IIS进行一些设置。
在IIS 6.0当中开启UrlRewriter.NET的所有功能是非常容易的,因为从IIS 6.0开始,已经能够支持通配符应用程序映射了。它能够把所有的Web请求都交给指定的ISAPI去处理,而不管它的扩展名如何。具体方法如下:
- 打开您的IIS管理器:
点击查看大图
- 在您要安装UrlRewriter.NET的站点上单击鼠标右键-属性:
点击查看大图
- 点击主目录选项卡:
点击查看大图
- 点击配置按钮:
点击查看大图
- 选择应用程序扩展当中的.aspx项,并打开之:
点击查看大图
- 复制“可执行文件的路径”,然后点击取消以关闭此对话框:
点击查看大图
- 点击通配符应用程序映射右侧的插入按钮:
点击查看大图
- 粘贴刚才复制的路径并去掉“确认文件是否存在”前面的勾:
点击查看大图
- 点击确定按钮:
点击查看大图
- 点击确定按钮以关闭“应用程序配置”对话框:
点击查看大图
- 点击确定按钮以关闭“属性”对话框。
- 完成!
这里有一些需要注意的地方:
- 所有的Web请求都将交给Asp.NET运行时处理。
- IIS自身的默认文档机制将会失去它原来应有的作用,不过可以使用以下代码来弥补这个缺陷:
<rewrite url="^(.*)/(\?.+)?$" to="$1/default.aspx$2" />
- 所有的图像、样式表、ico等等都会无法访问,需要增加相应的规则去修复,同样这也是非常有用的,您可以控制这些文件的访问权限,隐藏他们的真实路径。
- 更多UrlRewriter.NET的功能还需要你的细心挖掘!总之UrlRewriter.NET是一款非常不错的地址重写组件!