gpt4 book ai didi

asp.net-mvc-2 - MVC 参数中的加号 (+) 在 IIS 7.0 上导致 404

转载 作者:行者123 更新时间:2023-12-02 00:13:34 25 4
gpt4 key购买 nike

我的 MVC 路由在运行 IIS 的临时服务器上给我带来了麻烦。我在本地运行 Visual Studio 2010 的开发服务器。

这是一个在我的开发盒上实际运行的示例 URL:

Root/CPUBoards/Full+Size

Results
Server Error404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

这是我看到的完整行为。

本地主机:

Root/CPUBoards/Full Size - Resolves
Root/CPUBoards/Full%20Size - Resolves
Root/CPUBoards/Full+Size - Resolves

使用 IIS 7.0 的临时服务器:

Root/CPUBoards/Full Size - Resolves
Root/CPUBoards/Full%20Size - Resolves
Root/CPUBoards/Full+Size - 404 Not Found Error.

有什么想法吗?由于多种原因,我需要使用编码版本...不会浪费您的时间。

HttpUtility.UrlEncode("Full Size") 返回带有加号的版本... Full+Size。这适用于我的开发盒,但不适用于登台服务器。我更愿意让它在服务器上工作,因为我已经测试了其他所有内容并在本地工作,但我不知道从哪里开始查看服务器配置以使其以相同的方式运行。

谢谢!

最佳答案

这是 IIS 安全设置。有一个标准请求过滤器,可以拒绝包含 +(加号)字符的 URL。

您可以在您的网站上禁用它,并将其添加到您的 web.config 中:

<configuration>
...
<system.webServer>
...
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
...
</configuration>

关于asp.net-mvc-2 - MVC 参数中的加号 (+) 在 IIS 7.0 上导致 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com