WordPress 页面静态化后无法打开分页的解决方法

一直没有怎么使用nextpage这个分页标签,这两天查看自己以前写的一篇文章,发现无法打开分页,一打开就是404的错误。应该是使用了cos-html-cache缓存插件的缘故,所有页面都静态化了。所以造成了分页功能的无法使用。在网上找了很多办法,都没解决这个问题。终于在VoidMan的博客中找到了解决方法。

以/%year%/%monthnum%/%postname%.html这样的永久链接结构为例:

1. 打开主题目录下的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
/ 添加分页处理规则
function add_custom_post_rewrite_rules($rules) {
  $custom_rules = array(
    '([0-9]{4})/([0-9]{1,2})/([^/]+)-([0-9]+)\.html$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&name=$matches[3]&page=$matches[4]',
  );
  $rules = array_merge($custom_rules, $rules);
 
  return $rules;
}
add_filter('post_rewrite_rules', 'add_custom_post_rewrite_rules');
 
// 修改分页链接
function my_wp_link_pages($args = '') {
  $args .= ($args ? '&' : '') . 'echo=0';
  $links = wp_link_pages($args);
  $links = preg_replace_callback('|([0-9]{4}/[0-9]{1,2}/)([^/]+)(\.html)(/)([0-9]+)|', 'custom_page_link', $links);
 
  echo $links;
}
 
function custom_page_link($matches) {
  return $matches[1].$matches[2].'-'.$matches[5].$matches[3];
}

2. 打开主题目录下的single.php文件,查找wp_link_pages并替换为my_wp_link_pages。

3. 后台“设置-永久链接”点击一下“保存修改”按钮,大功告成。

一般到这里就可以了,如果有人还不能正常使用分页功能,那么可能还需要改一下.htaccess,具体修改方法如下:

1
2
3
4
5
6
7
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/trackback/?$ index.php?year=$1&monthnum=$2&name=$3&tb=1 [L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/feed/(feed|rdf|rss|rss2|atom)/?$ index.php?year=$1&monthnum=$2&name=$3&feed=$4 [L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/(feed|rdf|rss|rss2|atom)/?$ index.php?year=$1&monthnum=$2&name=$3&feed=$4 [L]
</ifmodule>

注意添加顺序,不要置于 WordPress 生成的规则之后。其它永久链接结构的具体修改代码请参考VoidMan的博客

相关评论

  1. 豬頭六说道:

    我按照你的方法修改了之後,點擊第二頁還是跳轉到第一頁呢,沒有效果。例子請看http://www.kaoyannews.com.cn/mba/mba-zs/2010mbahbdd.html 要能幫的上忙,小弟不勝感激。

  2. Solo说道:

    来学习学习。

  3. 快乐瘦说道:

    这个问题倒是没碰到过~

  4. 扣扣网说道:

    俺的博客就没伪静态 系统没装相关支持 但是本站非盈利 所以不是那么在乎 只有文章好就行 呵呵 继续支持博主哈

  5. shenyue说道:

    你能幫我手機解鎖不?我手機samsung f 266,現在鎖上了 我在網上找了很多,鼓搗了半天結果還是要我8個SP LOCK CODE, 把SIM放進去一開機就要我這個CODE

  6. 竹纤维说道:

    还没入到过这个问题

  7. YY说道:

    也想换成wp试试了~

  8. 俺现在终于再也不用研究别人是网站系统了 呵呵

  9. 丁字裤说道:

    继续关注,我也有这问题

  10. 海天无影说道:

    我没使用cos-html-cache缓存插件
    今天你网站速度还行
    但感觉不是很快~

  11. dsayk说道:

    插件少装。太卡。

  12. 秋天一棵树说道:

    昨天来看首页没有CSS,而且加载巨慢,今天终于OK了。

  13. 写得不错,博客蛮有特色的哦

  14. 古墓候梅说道:

    前几天我来你博客,首页看正是正常的,打开文章就不能浏览了。

    全是字符。????

  15. 宝宝英语说道:

    楼主加油,
    争取百度第一噢

  16. Yang说道:

    你blog打开速度确实很慢
    而且你就不能把代码code一下么…
    这让人家咋复制啊(怨念ing)

  17. u88cn说道:

    明白了。

  18. 淘宝网包包说道:

    有意转载博主这篇文章,请问是否允许,盼回复 谢谢

  19. 小峰JoysBoy说道:

    我打开也超级慢,还失败了好几次,刷新好几次后才出来的

  20. 苗木说道:

    来顶一下,呵呵不错,学习了,周末马上到了祝周末愉快!

  21. 冰剑说道:

    今天打开你的博客超级慢,刷新了N次才勉强打开。
    我目前评论的时候,状态栏还显示正在传送数据。
    不知道是你博客服务器的问题还是你博客服务器的问题。。

相关评论:

您的电子邮箱地址不会被公开。 必填项已用*标注