在ASP.net MVC上,控制器返回301重定向到外部站点的“正确”方式是什么?
@H_301_11@解决方法
@H_404_13@
由于您正在谈论重定向到您不知道路由的URL(即内部页面(思考经典ASP.NET)或某些外部资源)),因此您唯一可以做的是设置状态代码,并发送用户的浏览器。
各种RedirectTo-Function似乎只返回我手动映射的相关链接或路由,但是没有办法说“执行301重定向到http://example.com”。
我想我可以设置Response.StatusCode或使用Response.Redirect,但是在MVC中应该怎么做?还是执行重定向的官方“正确方法”?
更新:在此期间,我为此写了一个ActionResult:PermanentRedirectResult
更新2:自ASP.net 4.0以来,永久重定向是part of the Framework。
在MVC的这个链上,你担心让用户看到它们的视图,但是该视图不在你的控制之下,甚至根本不是一个视图。所以最终你在这样的情况下你最好能做到这一点,据我所知,没有任何MVC“规则”。
我希望有帮助。