C# 在IIS上找不到URL映射404页,但在本地服务器端口上工作正常

C# 在IIS上找不到URL映射404页,但在本地服务器端口上工作正常,c#,asp.net,iis-6,url-mapping,C#,Asp.net,Iis 6,Url Mapping,当我把我的.NET2.0网站放在IIS6上时,我遇到了一个问题。我使用UrlMapping重定向了一些旧URL。当我在VS本地服务器端口上使用它时,它工作正常,但是当我将它部署到IIS6时,它会给出一个404页面未找到错误 我发现,在一些论坛上,他们都在谈论使用通配符映射,但没有一个能很好地解释如何实现这一点。此外,在IIS级别进行这样的修改(如果有)有什么安全风险 提前感谢,, 干杯:)可能导致您出现问题的原因是,在IIS上的ASP.NET映射中,有一个复选框“检查文件是否存在”,请取消选中此

当我把我的.NET2.0网站放在IIS6上时,我遇到了一个问题。我使用UrlMapping重定向了一些旧URL。当我在VS本地服务器端口上使用它时,它工作正常,但是当我将它部署到IIS6时,它会给出一个404页面未找到错误

我发现,在一些论坛上,他们都在谈论使用通配符映射,但没有一个能很好地解释如何实现这一点。此外,在IIS级别进行这样的修改(如果有)有什么安全风险

提前感谢,,
干杯:)

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

编辑这篇文章没有真正的风险

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


然后在那里找到.NET映射,或者创建通配符映射。。。并确保未选中“检查文件存在”选项。

在目标服务器上打开IIS

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

选择虚拟目录选项卡

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

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

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

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

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

<add url="~/NewUrl" mappedUrl="~/Default.aspx?UrlId=12345" />
IIS6上的
。以下是Phil Haack博客中关于如何使用通配符映射克服此问题的帖子:


另外,我知道,这篇文章是关于ASP.NETMVC的,但我认为它可能对您的场景也有帮助

我试过这个,但不起作用。有什么想法吗?请点击此处: