如何使用状态码重定向到MVC Controller中的另一个URL

Qwerty

我想将用户重定向到另一个URL,但要带状态码。

以下代码进行了重定向,但是状态代码始终为302。

public ActionResult RedirectWithStatusCode(string redirectionUrl, int statusCode)
{
     try
     {
           Response.StatusCode = statusCode;
           return Redirect(redirectionUrl);
     }
     catch (Exception ex)
     {
           Response.StatusCode = 404;
           //log exception
           return new EmptyResult();
     }            
}
布鲁诺·法里亚斯

使用RedirectPermanent()中状态码301Redirect()中状态码302

有类似RedirectToAction(),的变体RedirectToActionPermanent()RedirectToRoute()并且RedirectToRoutePermanent()遵循相同的原理。

编辑:

回答您的问题,如果您想在较低级别上处理响应,请尝试以下操作:

public void RedirectWithStatusCode(string redirectionUrl, int statusCode)
{
    try
    {
        Response.StatusCode = statusCode;
        Response.Headers["Location"] = redirectionUrl;
        Response.End();
    }
    catch (Exception ex)
    {
        Response.StatusCode = 404;
        //log exception
        Response.End();
    }
}

测试网址:/redirectwithstatuscode?statuscode=308&redirectionurl=http://google.com

在此处输入图片说明

警告:您可能需要确保传递的URL属于您的域,否则您可能使您的网站遭受重定向攻击。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何重定向到另一个网页?

如何在Spring MVC JavaEE中重定向到另一个站点

如何在MVC中单击按钮重定向到另一个页面和特定的div

在React中重定向到另一个路由时如何传递状态/属性?

在Django中,如何使按钮单击重定向到另一个URL?

如何使用web.config将一个URL重定向到另一个URL?

如何从链接重定向到另一个?

React:如果用户已经登录,如何重定向到另一个URL?

如何使用.htaccess将动态URL重定向到另一个动态URL?

使用htaccess将包含特定部分的URL重定向到另一个URL

承诺后如何使用react-router重定向到另一个URL?

如何在IIS 7中从一个基本URL永久重定向到另一个

如何使用MVC从catch块重定向到另一个视图

使用Javascript中的弹出窗口重定向到另一个URL

重定向到另一个动作时,在URL中隐藏模型数据

如何将Nginx中的根域单独重定向到另一个URL

Htaccess将文件夹中的图像重定向到另一个URL

无法重定向到Django Python中的另一个URL

如何在重定向到另一个URL时禁用cors请求

使用.htaccess重定向到另一个URL中的URL

如何重定向到另一个页面

重定向到另一个URL时如何传递URL参数?

使用.htaccess将特定的URL重定向到另一个URL

使用 htaccess 将一个 URL 重定向到同一域上的另一个 URL

如何使用 /etc/hosts 将 URL 重定向到另一个 URL

如何在使用 Selenium 路由到另一个 url 之前获取临时出现的重定向 url?

如何将特定 URL 重定向到 NuxtJs 应用程序中的另一个 URL

如何重定向到另一个页面?

如何在 php 中从根 url 重定向到另一个而不出现重定向错误