首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有连字符分隔的slug的Wordpress自定义post类型固定链接返回404错误

可能是由以下原因导致的:

  1. 未注册rewrite规则:当你创建一个自定义的post类型并且希望使用连字符分隔的slug时,你需要确保已经在WordPress中注册了rewrite规则。可以通过使用register_post_type()函数来注册自定义post类型,并在参数中设置'rewrite'选项来定义规则。

例如,假设你的自定义post类型名称为'book',你可以通过以下方式注册rewrite规则:

代码语言:txt
复制
function custom_post_type() {
    $args = array(
        'rewrite' => array('slug' => 'books/%book-category%'),
        // 其他参数...
    );
    register_post_type('book', $args);
}
add_action('init', 'custom_post_type');

上述代码中,'slug'选项定义了自定义post类型的固定链接结构。在这个例子中,固定链接将以'books'开头,并且后面是一个带有占位符'%book-category%'的连字符分隔的slug。

  1. 未刷新rewrite规则:如果你已经注册了rewrite规则,但仍然遇到404错误,那么可能是因为你没有刷新WordPress的rewrite规则。你可以通过在WordPress后台的Settings -> Permalinks页面上点击"Save Changes"按钮来刷新规则。
  2. slug冲突:如果你的自定义post类型的slug与其他已经存在的页面、分类或标签的slug冲突,WordPress可能会返回404错误。你可以尝试更改自定义post类型的slug以避免冲突。
  3. 未正确解析占位符:如果在rewrite规则中使用了占位符(例如上述例子中的'%book-category%'),但你没有在代码中解析它,WordPress可能无法正确生成固定链接。你可以使用add_rewrite_tag()函数来解析占位符,并在rewrite规则中使用相应的占位符名称。

以下是解析占位符的示例代码:

代码语言:txt
复制
function custom_rewrite_tag() {
    add_rewrite_tag('%book-category%', '([^/]+)');
}
add_action('init', 'custom_rewrite_tag');
  1. 服务器配置问题:有时,404错误可能是由于服务器配置问题导致的。你可以尝试检查你的服务器配置,确保rewrite模块已经启用,并且允许.htaccess文件中的rewrite规则生效。

对于问题的解决,你可以尝试按照上述步骤进行排查,并根据具体情况调整和修改你的代码和配置。如果你使用腾讯云的WordPress托管服务,你可以参考腾讯云提供的WordPress文档和支持文档来了解更多关于自定义post类型、rewrite规则和服务器配置的信息。

希望这些信息对你有帮助!如有更多问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 改善用户体验的404页面最佳实践

    无论一个网站设计得多好,时不时地,它可能会出现错误、漏洞和故障。此外,用户可能会输入错误的URL,或访问一个破碎的网站链接或页面,从而产生错误。当这种情况发生时,网站访问者会突然面对标准的 "404 "错误信息。404-错误信息表明,网站上的一个页面未能返回结果,不再存在。在搜索结果失败后遇到404错误网站信息的用户通常会被重定向到其他的网站页面。一个经过深思熟虑设计的定制404错误网站信息,其创意和轻松的细节可以区分出沮丧或有趣的用户。自定义404错误网站信息的原创和俏皮的设计细节会影响网站访问者的整体用户体验(UX)。自定义404错误信息的独特风格和信息传递也可能影响用户在未来返回您的网站的意愿。

    02

    改善用户体验的404页面最佳实践

    无论一个网站设计得多好,时不时地,它可能会出现错误、漏洞和故障。此外,用户可能会输入错误的URL,或访问一个破碎的网站链接或页面,从而产生错误。当这种情况发生时,网站访问者会突然面对标准的 "404 "错误信息。404-错误信息表明,网站上的一个页面未能返回结果,不再存在。在搜索结果失败后遇到404错误网站信息的用户通常会被重定向到其他的网站页面。一个经过深思熟虑设计的定制404错误网站信息,其创意和轻松的细节可以区分出沮丧或有趣的用户。自定义404错误网站信息的原创和俏皮的设计细节会影响网站访问者的整体用户体验(UX)。自定义404错误信息的独特风格和信息传递也可能影响用户在未来返回您的网站的意愿。

    02

    处理死链一「建议收藏」

    这也是许多网站使用自定义404错误页面的原因。通过良好的自定义404 页面,可以包含对网站的相应介绍、用户可能感兴趣的内容链接或者网站内容导航链接、内容搜索功能等,能够有效地帮助访问者找到其欲寻找的内容或相似的内容,提高用户在网站内浏览更多信息的机会。   正确定义404错误页面:   1. 对于已经存在的信息由于路径改变而导致访问不了时,应该在IIS 中定义404错误指向一个动态页面,在页面里面使用301 跳转到新的地址,此时服务器返回301状态码。   2. 当访问一个错误的链接时,将调用404页面,但由于在IIS 里面设置的不同将导致返回不同的状态码:   1. 404指向的是一个htm 文件,此时页面返回的404状态码,这是正确的。   2. 404指向的是一个URL,例如 /error.asp,如果不在页面里面进行设置,仅仅是返回提示的HTML 代码,将导致页面返回200 状态码,此时的危害在于,当很多页面找不到时,都返回和访问正常页面时返回一样的200状态码,将使搜索引擎认为该链接存在,并以错误页面的内容进行收录,当这样的链接很多时,将导致大量页面重复,使网站排名降低。处理方法:在显示完提示内容后,增加语句: Response.Status=”404 Not Found” ,这样就保证页面返回404状态码。   3. 避免在调用404 页面的时候返回302状态码,容易被搜索引擎认为是重定向作弊。   4. 检测方法,使用HttpWatch 查看返回代码。

    03
    领券