路由导致重定向之后URL参数消失的bug,原理不太清楚,求解答

RouteManager.cs中有这段路由配置:routes.MapRoute("MAIN", "home/main/{action}", new { controller = "Main", action = "Index" });

由于项目需要在url后接参数,后台获取参数信息,具体的URL为域名+/home/main?+参数,根据路由可知,这段url会去请求Index方法return的页面。

那么问题来了,在本地环境下,我可以顺利的传递参数到后台,但是部署到生产环境中时(使用两台服务器做了负载均衡),当我继续使用前面那段url去访问时,会有一个302重定向,然后url就变成了域名+/home/main,后面的参数不见了,导致传参失败

解决方案:补全URL为域名+/home/main/index?+参数,就没有重定向了,参数正确传递~

ps:本地环境下使用域名+/home/main?+参数没有发生重定向

原理不太知道,懂的同学麻烦解释下,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容