global.asax重写不能正常工作

时间:2010-08-17 22:34:04

标签: c# .net

我在global.asax文件中实现了URL重写,它在我的机器上运行得很好,但在实时环境中却没有。知道我应该怎样解决这个问题? 感谢

2 个答案:

答案 0 :(得分:1)

首先确保已将IIS设置为将所有相关URI传递给ASP.NET引擎。如果路径都以有限数量的所谓“扩展”结束(例如.html,.png以使URI看起来像带有文件扩展名的文件路径)那么您只需映射此特定扩展名(copy-粘贴.aspx)。

如果您需要它来处理(或至少检查并查看它是否应该处理)更广泛的URI,您需要设置通配符处理程序。不同版本的IIS在如何完成方面有所不同(IIRC 5.0到6.0是在发生更改时)。如果版本有一个地方可以在对话框中输入通配符映射来处理脚本映射(或者来自7.0的“处理程序映射”),那么使用它,如果没有,则为。*定义映射(不要担心)关于这个时期,它仍然会匹配URI,即使它们没有。)

还有其他可能出错的事情,但这是你的出发点,如果不对,那肯定会引起这个问题。

答案 1 :(得分:0)

Visual Studio中内置的Web服务器使用ASP.NET引擎来处理所有文件类型,但IIS仅使用ASP.NET引擎来处理实际执行的文件类型。

因此,global.asax文件中的Application_BeginRequest事件(和类似事件)仅适用于.aspx.asmx等文件类型,而不适用于.html等文件类型, .css.jpg