【问题标题】:301 redirects in GrailsGrails 中的 301 重定向
【发布时间】:2010-12-29 08:03:15
【问题描述】:

我目前正在使用以下相当繁琐的“servlet 样式”方法进行 Grails 301 URL 重定向:

def action = {
  ...
  if (shouldRedirect) {
    response.status = 301
    response.setHeader("Location", "http://url/to/redirect/to.html")
    render("")
    return false
  }
  ...
}

有没有更简洁、更紧凑的 Groovy/Grails 方式来执行 301 重定向?

请注意,我说的是 301 重定向,而不是可以使用标准 Grails redirect(...) 机制实现的标准 302 重定向。

【问题讨论】:

    标签: grails seo http-status-code-301


    【解决方案1】:

    是的,现在可以使用redirect 并将permanent 参数指定为true,如here 所述。例如:

    redirect(url: "http://url/to/redirect/to.html", permanent: true)
    

    【讨论】:

    • 最好将所有控制器的重定向设置为状态 301,就 SEO 而言,还是应该将它们保留为 302?
    • @Euoliix 如果重定向确实是永久性的,那么您应该使用 301。如果 Google 看到 302,那么它应该稍后会再次检查 URL。
    【解决方案2】:

    Grails 中的redirect 机制目前支持permanent 参数:

    permanent(可选)- 如果为 true,则重定向将发出 301 HTTP 状态代码(永久移动),否则将发出 302 HTTP 状态代码

    这应该可以充分解决您的问题,并且以非常 Grails 的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-26
      • 2019-01-07
      • 2011-09-03
      • 2011-01-16
      • 2014-11-25
      • 2016-01-27
      • 2018-08-14
      • 1970-01-01
      相关资源
      最近更新 更多