繁体   English   中英

在IIS上找不到UrlMapping并提供404页面,但在本地服务器端口上可以正常工作

[英]UrlMapping giving 404 Page not found on IIS but working fine on local server port

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

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

在此先感谢,干杯:)

在目标服务器上破解IIS

转到您的Web应用程序 ,右键单击并选择“ 属性”。

选择虚拟目录选项卡

单击应用程序设置下的配置按钮

在“ 通配符应用程序映射”部分中,添加以下内容:

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

确保您未选中的文件存在。

可能导致您的问题的原因是,在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映射,或创建通配符映射...,并确保未选中“检查文件存在”选项。

我相信这是因为您的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

PS我知道,该帖子是有关ASP.NET MVC的,但我认为它也可能对您的情况有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM