加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC IIS7 FireFox:尾部斜杠在URL中

发布时间:2020-12-16 00:38:18 所属栏目:asp.Net 来源:网络整理
导读:注意:我已经做了几个小时的挖掘,找不到答案。 我有一个ASP.NET MVC(2.0)应用程序,托管在IIS7(集成模式)上。 当GET请求到/ Toons / List – 我得到一个重定向(302)到/ Toons / List /这是预期的。 问题 但是当我发送POST请求时,请向/ Toons / Add(通知没
注意:我已经做了几个小时的挖掘,找不到答案。

我有一个ASP.NET MVC(2.0)应用程序,托管在IIS7(集成模式)上。

当GET请求到/ Toons / List – 我得到一个重定向(302)到/ Toons / List /这是预期的。

问题
但是当我发送POST请求时,请向/ Toons / Add(通知没有尾部斜杠)服务器返回,再次将重定向(302)转换为/ Toons / Add /。此时,FireFox错误地将GET请求发送到该重定向到的URL。即[GET] / Toons / Add /代替[POST] / Toons / Add /。这是不正确的,但已知的行为。由于没有[GET] on / Toons / Add / – 我找不到资源(404)。

我托管我的应用程序与webhost4生活和无法访问IIS7,这限制了我使用URL重写和使用模块(我正在与他们一起解决这个问题)。但即使是ISAPI最好的方法呢?我不知道这样做是否足够好。

这是一个常见的问题,我很惊讶,我找不到一个简单的解决方案。

有没有涉及使用.aspx / .mvc后缀和URL重写的解决方案?
在这两个中,如果我必须,我应该更喜欢哪一个?

任何想法/建议?

编辑:
我已经读过http://www.hanselman.com/blog/ASPNETMVCAndTheNewIIS7RewriteModule.aspx,正如我所说,我试图找到一个更简单的解决方案,一个“Just Work”选项。

编辑:
我已经看到了对每个URL附加斜杠(/)的解决方案,再次似乎不是最优雅的解决方案。

解决方法

链接时应该使用实际的URL /路由。如果由于主机环境或2.0版本的MVC框架的限制,您无法从路由中删除斜线,则需要在URL中包含尾部斜线。

依靠服务器重定向每个URL会增加服务器处理时间和页面加载时间。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读