查看: 59|回覆: 1

[教程] Wordpress页面静态化与静态文件不生成的解决方法

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-6-24
發表於 2023-11-16 00:00:00 | 顯示全部樓層 |閲讀模式

本文实例讲述了在wordpress中利用cos-html-cache 2.7.3插件来实现Wordpress页面静态化的方法以及静态文件不生成的解决方法,分享给大家供大家参考。具体分析如下:

我们先要下载cos-html-cache 2.7.3页面静态化插件

1.安装插件页面中搜索cos-html-cache插件,并安装

1.根目录下创建html文件夹,权限777

2.根目录下创建index.bak文件,权限666

3.修改固定连接格式为自定义结构,/html/%post_id%_%postname%.html

4.激活插件

5.修改站点默认首页次序,在.htaccess中加入一行:

DirectoryIndex index.html index.htm index.php index.cgi

6.修改主题搜索框代码,在searchform.php文件中,将如下代码:
 

复制代码

代码如下:

action="<?php echo esc_url( home_url( / ) ); ?>"

替换为:

复制代码

代码如下:

action="<?php echo esc_url( home_url( /index.php ) ); ?>"

 

检验,退出登录,重新访问页面,在html目录下生成了html文件,且在页面源代码中含有字符串 <!–cos-html-cache-safe-tag–>即成功安装。

静态文件不能生成的问题

因为有的服务器定义的DOCUMENT_ROOT与虚拟空间的目录路径不一致,导致cos-html-cahce找不到正确的目录去生成html,比如000webhost的服务器就是如此。

cos-html-cache.php文件中有一行:

复制代码

代码如下:

$path = $_SERVER['DOCUMENT_ROOT']."/";

 

解决方法可以用一个php脚本去测试自己主机的空间路径,然后把$path的值改为空间根目录路径即可,可以创建一个php文件,写入以下代码.

  1. <?php echo "SeverPath: ".dirname(__FILE__); echo " 
  2. "; $path = $_SERVER['DOCUMENT_<div  
  3. style="display: none"><A title="how to increase vertical jump" href="http://www.jb51.net/">how  
  4. to increase vertical jump</A>  
  5. ROOT']."/"echo "DOCUMENT_ROOT: ".$path; ?> 


然后上传至空间根目录,访问脚本文件,比较、查看DOCUMENT_ROOT和空间的路径,如果不一致的话,修改$path的值即可,比如访问: http://localhost/root_test.php,返回结果如下:

 

SeverPath: /home/a4675762/public_html

DOCUMENT_ROOT: /usr/local/apache/htdocs/

可以看到两个路径是完全不同的,那么就修改$path为:
 

复制代码

代码如下:

$path = "/home/a4675762/public_html/";

 

好了,登出博客(一定要登出才可以生成html静态页面),再重新访问页面,html应该就可以正常生成了.

希望本文所述对大家的WordPress建站有所帮助。

回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-9 07:25:42 | 顯示全部樓層
感谢楼主的分享!

这篇文章解决了我一直困扰的问题。之前用cos-html-cache插件的时候,静态文件一直生成不了,试过很多方法都没搞定。原来是[DOCUMENT_ROOT]路径的问题,真是涨知识了!
特别同意你说的,000webhost这类虚拟主机确实容易出这个问题。

想补充几点个人经验:

1. 除了cos-html-cache,现在很多新手更喜欢用WP Super Cache或者W3 Total Cache,功能更全面,设置也更友好一些

2. 如果不想用插件的话,也可以考虑用Nginx的静态缓存规则,效率会更高

3. 楼主的那个检测路径的PHP脚本很实用,建议大家先测试好再动手修改插件代码,避免出更多问题

收藏了! 回头有空再试试其他静态化的方法。

大家还有什么更好的WordPress静态化方案吗?求推荐!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部