UrlMapping在IIS上找不到404页面,但在本地服务器端口上运行正常

时间:2010-01-19 12:41:04

标签: c# asp.net iis-6 url-mapping

当我将我的.NET 2.0网站放在IIS 6上时,我遇到了问题。我使用了UrlMapping来重定向一些旧网址。当我在VS本地服务器端口上使用它时工作正常但是当我将它部署到IIS 6时,它会发出404 Page not found错误。

我发现在一些论坛中他们讨论的是使用通配符映射,但是它们都没有为我提供如何实现这一目标的良好解释。除此之外,在IIS级别上进行此类修改的安全风险是什么(如果有的话?)

提前致谢, 干杯:)

3 个答案:

答案 0 :(得分:1)

在目标服务器上破解 IIS

转到 Web应用程序,右键单击并选择属性

选择虚拟目录标签

点击应用程序设置

下的配置按钮

通配符应用程序地图部分中,添加以下内容:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

确保取消选中文件存在。

答案 1 :(得分:0)

可能导致您的问题的是,在IIS上的ASP.NET映射中,有一个复选框“检查该文件是否存在”取消选中此项,您应该没问题。

编辑此内容没有真正的风险。

http://forums.asp.net/p/890825/1017645.aspx

http://blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

打开网站上的属性,转到“主目录”选项卡,然后单击“配置”。

然后在那里找到.NET映射,或者创建一个外卡映射......并确保不检查“检查文件存在”的选项。

答案 2 :(得分:-1)

我相信这是因为当您的URL没有扩展名(例如.aspx)时,IIS6无法将请求移交给ASP.NET。在以下示例设置

<add url="~/NewUrl" mappedUrl="~/Default.aspx?UrlId=12345" />

当您尝试在IIS6上访问http://yousite.name/NewUrl时,您将获得404。以下是Phil Haack博客中有关如何使用通配符映射克服此问题的帖子:http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

P.S。我知道,这篇文章是关于ASP.NET MVC的,但我认为它也可能对你的场景有所帮助。