如何强制 asp.net MVC 2 重定向到默认控制器/操作

发布于 2024-09-05 03:47:18 字数 444 浏览 1 评论 0原文

在一个全新的 ASP.NET MVC2 项目中,我希望用户被重定向到

http://<mysite>/home/index 

而不是

http://<mysite>/

我们对其他站点执行此操作以进行跟踪,以避免出现对同一默认页面的点击显示为“

http://<mysite>/
http://<mysite>/default.aspx

我如何完成此操作”的 情况这样 http:/// 自动重定向到我在路由中设置的任何默认控制器/操作?请注意,我知道两者在功能上是等效的,因为默认控制器操作将以任何一种方式执行。我只是对在浏览器中强制使用一致的 URL 感兴趣。

In a brand new ASP.NET MVC2 project, I want the user to be redirected to

http://<mysite>/home/index 

rather than

http://<mysite>/

We do this with our other sites for tracking purposes, to avoid the scenario where hits to the same default page show up as

http://<mysite>/
http://<mysite>/default.aspx

How do I accomplish this so that http://<mysite>/ automatically redirects to whatever default controller/action I have set up in my routing? Please note that I am aware the two are functionally equivalent, as the default controller action will be executed either way. I'm just interested in forcing consistent URLs in the browser.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傾城如夢未必闌珊 2024-09-12 03:47:27

像这样的事情应该可以做到,不是吗?

public class HomeController : Controller
{
    public ActionResult Index()
    {
        string incomingUrl = HttpContext.Request.Url.LocalPath;

        if (incomingUrl == "/")
        {
            return Redirect("/home/index");
        }
        else
        {
            return View();
        }
    }
}

Something like this should do it, no?

public class HomeController : Controller
{
    public ActionResult Index()
    {
        string incomingUrl = HttpContext.Request.Url.LocalPath;

        if (incomingUrl == "/")
        {
            return Redirect("/home/index");
        }
        else
        {
            return View();
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文