未找到抛出 HTTP 404 的 IIS 但存在资源.请求的 URL 也会自动更改

本文关键字:URL 请求 资源 HTTP IIS 存在 | 更新日期: 2023-09-27 18:31:24

我的本地IIS在这里面临着一个非常奇怪的场景。我在本地 IIS 的默认网站中托管了多个网站。其中一个具有登录页面。从登录页面,我将用户重定向到位于另一个站点(该站点也托管在默认网站虚拟目录中的同一 IIS 中)中的另一个页面。

现在在我的登录页面的提交按钮点击事件中,在对用户进行身份验证后,我编写了一个"Response.Redirect(redirect_url"。 redirect_url是动态形成的,并作为参数提供给重定向方法。

调试时,作为参数发送到重定向方法的最终redirect_url为:

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

但是在我尝试进入下一步后,我突然收到一个 HTTP 404 错误,指出资源不存在,并且我观察到错误页面中显示的请求 URL 与动态发送到 Response.Redirect(...) 方法的 URL 不同。

在错误页面中,请求的 url 将值显示为

http://localhost/CP/web/console/localhost/CPLogin?err=5

而我在代码中形成的实际请求的 URL 是:

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

我只是无法理解为什么请求的网址会自动更改。!另外,我观察到"本地主机"再次附加到请求的 URL 中,这不是应该发生的事情。

请访问此链接[^]以更清楚地了解此问题。我添加了错误页面的屏幕截图。

http://amoghnatu.wordpress.com/2013/09/16/question-please-help-iis-throwing-http-404-not-found-but-requested-resource-actually-exists-requested-url-also-changing-automatically/[^]

多谢。!

未找到抛出 HTTP 404 的 IIS 但存在资源.请求的 URL 也会自动更改

事实上,问题出在我在应用程序中托管网站的方式上。我刚刚从 IIS 中删除了与我的应用程序相关的所有站点,然后更仔细地再次托管所有这些站点。这解决了"错误的重定向 url"问题。

此外,我

有一些表缺少必需的数据,因此我收到了错误代码。

因此,在我用所需数据填充所有表并在 IIS 中正确托管应用程序之后,我的问题得到了解决。

在IIS中,转到相关文件夹,右键单击并"浏览"。查看什么是网址。在大多数情况下,这是由于 URL 应附加端口号。例如,它将是这样的:

http://localhost:<port number>/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

而不是

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008