有没有办法让WordPress 301而不是302默认使用URL?

时间:2014-01-24 作者:Shawn

很抱歉,如果这是重复的,但我在“已经有你的答案的问题”中找不到我的答案。

如果我访问一个旧的URL链接,或者如果我直接创建一个URLexample.com/made-up-place.html 我用302重新定向。

奇怪的是,对于移动的URL,默认情况下它是302而不是301,但我真的很好奇为什么一个从未存在过的URL 302会回到主页。所以我的两个问题是:

如何将所有302强制为301(我认为有一个钩子可以添加到functions.php)?

为什么要创建指向文件302而不是404的URL?

我想了解一下我所看到的。

Edit 1:

我的主题确实有一个404模板,在某些情况下可以使用。示例:

当前网站URL结构为:example.com/id/1234/slug

如果我输入了无效的URL,例如。com/id/999999,然后我会得到预期的404响应example.com/id/999999/some-slug 我在某个slug上看到301,在完整URL上看到404

  • example.com/some-made-up-thing.html 这将转到302而不是404。过去的站点结构为example.com/slug (但没有任何页面包含扩展名),而且此页面从未存在过
  • 2 个回复
    最合适的回答,由SO网友:Shawn 整理而成

    此问题是由围绕NOBLOGREDIRECT的wp配置中的编辑引起的。未正确处理主域。

    SO网友:fischi

    由于多种原因,这是默认设置。第一种情况是,您仍然可以为旧URL制定计划,或者它们暂时不可用,因此WordPress默认为这样。

    如果默认值是301,那么很容易就会发现您以前的URL被搜索引擎编入索引,因为“这个地方不再存在,我不必再看了”,所以您会失去页面价值。

    但是,如果您的模板有404。因此,WordPress会发送一个404页面。

    请注意,如果您的帖子和页面在WordPress中获得了新的URL结构(不是从其他系统切换),WordPress仍然使用302重定向。

    我希望这有帮助:)

    结束

    相关推荐

    Redirect to custom login page

    我已经创建了一个用于登录/注册的自定义页面。是否有任何自动重定向所有wp登录的方法。php调用该页面,或者我需要手动替换所有链接。例如,在评论表单上,我有以下默认消息:你一定是logged in 发布评论。登录的链接到http://localhost/wp-login.php?redirect_to=url 如何将其更改为:http://localhost/my-custom-login-page