很抱歉,如果这是重复的,但我在“已经有你的答案的问题”中找不到我的答案。
如果我访问一个旧的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
(但没有任何页面包含扩展名),而且此页面从未存在过有趣的是,这只发生在主域上。所有子网站(example2.com、example3.com)均正常工作,如预期的那样#1、#2和#3均为404!
SO网友:fischi
由于多种原因,这是默认设置。第一种情况是,您仍然可以为旧URL制定计划,或者它们暂时不可用,因此WordPress默认为这样。
如果默认值是301,那么很容易就会发现您以前的URL被搜索引擎编入索引,因为“这个地方不再存在,我不必再看了”,所以您会失去页面价值。
但是,如果您的模板有404。因此,WordPress会发送一个404页面。
请注意,如果您的帖子和页面在WordPress中获得了新的URL结构(不是从其他系统切换),WordPress仍然使用302重定向。
我希望这有帮助:)