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?+参数
没有发生重定向
原理不太知道,懂的同学麻烦解释下,谢谢!