我有一个WordPress网站和一个自定义主题,当然还有一个404.php文件。我遵循了这个神奇的向导关于使用块编辑器编辑404页模板的步骤。
当我转到/404 (或者说到任何无效链接)时,404页面上的组件就会正确地显示出来,但是,当进入/404时,用户被重定向到--这是我想要修复的行为。当用户转到/abc (一个无效的页面)时,就会显示404,并且它们不会被重定向,并且仍然在/abc上(这是预期的)。
我检查了WP中的页面,并将URL段塞设置为/404-2,并试图将其更改为404,只是默认设置为404。这似乎是由于404是一个数字和默认WP行为。。但这只是告诉我为什么会出现问题;我不知道如何覆盖或纠正这种行为。提前谢谢。
发布于 2022-09-06 23:30:45
通过连接到do_redirect_guess_404_permalink来修正它
请参阅permalink/
<?php
function stop_redirect_guess() {
return false;
}
add_filter( 'do_redirect_guess_404_permalink', 'stop_redirect_guess');
?>发布于 2022-09-02 11:54:23
正如您所发现的,页面标题"404“(或任何数字标题)将始终重写为"404-2",这将确保标题与数字post/页面id不同/从不混淆。
一个简单的解决方案是将页面重命名为"404页“,并将php函数更新为get_page_by_title( '404 page' )。这将为您的页面提供更多的SEO友好的/404-page网址,而不需要尝试更改permalinks/重写.htaccess文件。
如果使用块主题 5.9或更高版本,需要考虑的另一种方法是将自定义主题迁移到WordPress。这将使您能够使用可以通过Site Editor > Templates编辑的块编辑器创建真正的"404“页面模板。站点编辑器使您能够添加新模板,保存并导出它们,以便为您的自定义主题轻松地创建自己的模板。从像二十二二这样的基本主题开始是一个很好的方法,可以看到什么是可能的。这与创建一个基于“经典”php的主题非常不同;尽管块模板和站点编辑器的优势对于将来对主题进行校对是一个很大的好处。
https://stackoverflow.com/questions/73573772
复制相似问题