HTTP请求没有从某些请求的查询字符串中分离路径

问题描述 投票:0回答:1

我有一个奇怪的问题,不知道如何解决。

。NET的通常行为是,如果您具有如下网址:/action?id=abc&=type=3服务器变量类似于:

URL: /action  
PATH_INFO: /action
QUERY_STRING: id=abc&=type=3  

但是出现奇怪的行为:当请求来自mediapartners-google时,服务器变量不会在问号处拆分URL,而是:

URL: /action?id=abc&=type=3   
PATH_INFO: /action?id=abc&=type=3   
QUERY_STRING: 

因此,路由引擎正在尝试查找名为action?id=abc&=type=3的操作名称,但找不到它,提供了404错误。

有人知道为什么会这样吗?

asp.net asp.net-mvc-routing
1个回答
0
投票

对于MVC,当路由引擎已匹配路由时,其余的将填充到可选参数中。在到达问号之前,很可能会进行路线匹配。看来您需要其他方法来处理这种情况。还请记住,您需要按从最强到最弱的顺序排列路线,因为它们由匹配的第一条路线处理。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.