Answers:
我相信这是redirect_canonical
挂钩的功能template_redirect
。您应该可以通过以下方式禁用它:
remove_filter('template_redirect', 'redirect_canonical');
但是您应该真正考虑是否要这样做,因为它相当复杂并且执行一些重要的SEO功能:
根据站点URL将传入链接重定向到正确的URL。
搜索引擎将www.somedomain.com和somedomain.com都移到相同位置时,它们是两个不同的URL。SEO的这一增强功能通过将所有传入链接重定向到一个或另一个来防止重复内容的损失。
防止对提要,引用,搜索,评论弹出窗口和管理URL进行重定向。不能在不支持永久链接的IIS 7,页面/帖子预览,WP管理员,引用,robots.txt,搜索或POST请求上重定向。
当用户根据准确的WordPress查询输入不存在的URL时,也会尝试找到正确的链接。而是尝试解析URL或查询,以试图找到正确的页面。
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/canonical.php#L13
以下内容可能会在不弄乱SEO组件的情况下终止自动补全功能,但我不能保证这一点。该代码几乎没有经过测试,因为我从未希望禁用它。我真的必须学习redirect_canonical
以确保任何事情。
function kill_404_redirect_wpse_92103() {
if (is_404()) {
add_action('redirect_canonical','__return_false');
}
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);
让这种“猜测”自动发生似乎是非常不负责任的。如果有一些定义哪个是正确页面的方法,我将更加开放。
我有许多按顺序构建的页面,并且这种自动猜测错误地选择了响应(随机?)顺序中某个位置的页面,而不是起始页面。
更新:这是已知的行为,正在这里进行考虑:https : //core.trac.wordpress.org/ticket/16557
作为FitPM回答的后续措施-已创建一个插件来禁用自动猜测行为。
截至2017年8月2日,它对我在Wordpress 4.8上正常工作。该插件位于:https : //wordpress.org/plugins/disable-url-autocorrect-guessing/