【问题标题】:How can I redirect to a page with 302 statuscode in controller?如何重定向到控制器中带有 302 状态码的页面?
【发布时间】:2022-01-14 22:47:42
【问题描述】:

我即将重定向到带有 302 状态代码的页面。

public IActionResult test()
        {
            ///some logic
            return RedirectPermanent("www.google.com");
        }

但是,在我使用RedirectPermanent 方法后,只收到一个 301 状态码。

我该如何解决这个问题?谢谢。

【问题讨论】:

    标签: asp.net-core .net-core


    【解决方案1】:

    您使用了RedirectPermanentthis 方法产生了相应的状态码301 永久移动

    当你想要 302(找到)然后尝试使用Redirect-Method

    你可以查一下here

    更新: 评论中的最终解决方案

    另一个想法可能是为此特定创建一个“ActionFilter” 用例。您可以使用重定向方法和 OnActionExecuted ActionFilter 的方法,您可以手动将状态代码更改为 302

    【讨论】:

    • 我找到了这个。但是奇怪的是没有public abstract void Redirect(string location, bool Permanent);在 Visual Studio 中,我什至使用了 asp.net core 6。
    • 在这种情况下需要 302 的原因是什么?因为 301 正好表达了你想要达到的目标
    • 我想反击网络爬虫。当存在可能的网络爬虫时,它将重定向到具有 302 状态代码的页面,以通过 Google Recaptcha 进行验证。
    • 另一个想法可能是为这个特定用例创建一个“ActionFilter”。您可以使用 Redirect 方法,在 ActionFilter 的 OnActionExecuted 方法中,您可以手动将状态码更改为 302
    • 谢谢。让我试试这个方法。
    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 2011-01-30
    • 1970-01-01
    • 2013-08-17
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多