2009-09-30 66 views
2

我正在IIS7上开发一个ASP.NET MVC应用程序,我需要重写从我的应用程序中的一个目录到所有文件的请求,并且它是子目录到另一个目录。这些文件是图像,样式表,经典webforms文件和香草html文档。在ASP.NET MVC/IIS7中重写Url的最简单方法是什么?

实现此目的的最简单方法是什么?我已经尝试安装ManagedFusion的URL重写器,但自从安装它之后,它只是给我一个拒绝所有URL的访问错误。我甚至不确定它是否与ASP.NET MVC兼容。

感谢,

阿德里安

回答

3

与IIS7开始,IIS附带了可用于重写URL的模块。

http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

“微软URL重写模块的IIS 7.0提供了可以用于执行的URL操作任务,包括广谱灵活的规则为基础重写引擎,但不限于:

  • 启用用户友好和搜索引擎友好的URL与动态Web应用程序;
  • URL重写基于HTTP头和服务器变量的;
  • 网站内容处理;
  • 基于URL段或请求元数据控制访问网页内容。”
0

Helicon有这一个很好的工具,售价$ 99这主要是一样mod_rewrite的,所以很容易找到。有用的帮助我有运气还算不错吧

1

小心URL重写和“经典web表单文件”。 - 主要URL重写可以突破回传

总之,它听起来就像你有一个旧的你正在使用的应用程序,为什么不只需添加一个被忽略的路由并让IIS/ASPNET在本地处理业务?


感谢您的澄清。网址重写在这里可能有点意义。另一个可能更清洁的选项是设置一个虚拟目录(真正的一系列虚拟目录),为水晶报告提供所需的路径。

如果你想做重写的事情,然后使用本地url重写模块 - 这是非常光滑的,应该是最好的支持。

+0

这是一个很长的故事......我在我的应用程序中使用Crystal Reports(这是传统部分),只需通过IFrame包含报告即可。 CR期望所有视觉资源,弹出窗口等在一个特殊的目录中。不幸的是,这些资源的路径非常深,以至于我无法将它们检入版本控制,因为它会超出Tortoise SVN支持的最大路径长度,除非我移动整个Web项目,这会导致更多的麻烦。 – 2009-09-30 19:18:15

+0

Ew,CR。查看已确认答案的更新答案。 – 2009-09-30 19:47:57

相关问题