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去处理,而不管它的扩展名如何。具体方法如下:

  1. 打开您的IIS管理器:
    点击查看大图
    点击查看大图
  2. 在您要安装UrlRewriter.NET的站点上单击鼠标右键-属性:
    点击查看大图
    点击查看大图
  3. 点击主目录选项卡:
    点击查看大图
    点击查看大图
  4. 点击配置按钮:
    点击查看大图
    点击查看大图
  5. 选择应用程序扩展当中的.aspx项,并打开之:
    点击查看大图
    点击查看大图
  6. 复制“可执行文件的路径”,然后点击取消以关闭此对话框:
    点击查看大图
    点击查看大图
  7. 点击通配符应用程序映射右侧的插入按钮:
    点击查看大图
    点击查看大图
  8. 粘贴刚才复制的路径并去掉“确认文件是否存在”前面的勾:
    点击查看大图
    点击查看大图
  9. 点击确定按钮:
    点击查看大图
    点击查看大图
  10. 点击确定按钮以关闭“应用程序配置”对话框:
    点击查看大图
    点击查看大图
  11. 点击确定按钮以关闭“属性”对话框。
  12. 完成!

这里有一些需要注意的地方:

  1. 所有的Web请求都将交给Asp.NET运行时处理。
  2. IIS自身的默认文档机制将会失去它原来应有的作用,不过可以使用以下代码来弥补这个缺陷:
    <rewrite   url="^(.*)/(\?.+)?$" to="$1/default.aspx$2" />
  3. 所有的图像、样式表、ico等等都会无法访问,需要增加相应的规则去修复,同样这也是非常有用的,您可以控制这些文件的访问权限,隐藏他们的真实路径。
  4. 更多UrlRewriter.NET的功能还需要你的细心挖掘!总之UrlRewriter.NET是一款非常不错的地址重写组件!
posted @ 2011-12-28 16:58  甜菜波波  阅读(452)  评论(0编辑  收藏  举报