0

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

我发现在一些论坛中他们正在讨论使用通配符映射,但没有一个能够很好地解释如何实现这一点。除此之外,在 IIS 级别上进行此类修改有哪些安全风险(如果有的话?)

在此先感谢,干杯:)

4

3 回答 3

1

在目标服务器上破解打开的IIS 。

转到您的Web Application,右键单击并选择Properties

选择虚拟目录选项卡

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

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

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

确保您未选中文件存在。

于 2010-01-19T14:45:58.657 回答
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 映射,或创建通配符映射...并确保未选中“检查文件存在”选项。

于 2010-01-19T14:45:36.487 回答
-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

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

于 2010-01-19T14:54:33.380 回答