

04/17
2019
WordPress 后台里可以设置固定链接,达到伪静态的效果。但是文章里的分页就会出错了,比如第二页就会变成这样:
https://saber.love/postname.html/2
html 后面为什么要加个斜杠,它又不是目录,所以分页就会打不开。
在网上找到了解决办法,就是在主题的 functions.php
里加入以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //设置伪静态开始 //解析url的钩子 add_filter( 'post_rewrite_rules' , 'add_custom_post_rewrite_rules' ); function add_custom_post_rewrite_rules( $rules ) { $custom_rules = array ( '(d+)_(d+).html$' => 'index.php?p=$matches[1]&page=$matches[2]' ,); $rules = array_merge ( $custom_rules , $rules ); return $rules ; } //设置url钩子 add_filter( 'wp_link_pages_link' , 'post_custom_rewrite_url' ); function post_custom_rewrite_url( $output ){ $preg = '/(.*)\/(d+).html\/(d)/' ; $output = preg_replace( $preg , "$1/$2_$3.html" , $output ); return $output ; } //不许跳转 add_filter( 'redirect_canonical' , 'post_custom_redirect_url' ); function post_custom_redirect_url( $output ){ return false; } //设置伪静态结束 |