2010-08-17 73 views
0

我在global.asax文件中实现了URL重写,它在我的机器上完美工作,但不在现场环境中工作。不知道我应该看什么来解决这个问题? 谢谢global.asax重写不能正常工作

回答

0

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

所以,Application_BeginRequest事件(以及类似)在Global.asax文件只发生像.aspx.asmx,而不是文件类型,如.html.css.jpg文件类型。

1

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

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

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