WordPress在SAE平台实现的静态化插件及用法示例

WordPress在SAE平台实现的静态化插件及用法示例,第1张

WordPress在SAE平台实现的静态化插件及用法示例

本文主要介绍了SAE平台上WordPress的静态插件和使用方法,分析了静态插件的原理和实现方法,并提供了插件的下载地址,有需要的朋友可以参考。

本文介绍了SAE平台上WordPress的静态插件和使用方法。分享给你,供你参考,如下:

WordPress是一个非常流行的博客系统,但是它的静态支持不是很好。虽然可以配置主机的htaccess规则来达到伪静态的效果,但是如果是静态的话,提速效果会非常明显,体验也不错。而且很多人认为统计化对SEO也很有帮助。纯静态的首选方法是使用插件。WordPress有几个静态插件,但是对于SAE的特殊环境,他们是无能为力的。今天,通过一个名为cos-html-cache的插件,文章页面和主页在KVDB都是静态的。

因为SAE是完全分布式的,所以写入功能是禁止的,所以迁移的第一步是将本地写入的所有内容重写到KVDB中。有五点需要修改:

复制代码如下:$kv=newSAEkv();
$kv->;init();
$kv->;set($path,$Content);
//如果忽略sql错误...
//$fp=@fopen($path,"w+");
//if($FP){
//@chmod($path,0666);
//@flock($fp,LOCK_EX);
//fwrite($fp,$Content);
//@flock($fp,LOCK_UN);
//fclose($FP);
//}

只要把五个代码都改成KVDB就行了。这里,使用您的url作为存储的密钥。

但这还不够。你只需写KVDB,当你访问它时,你必须阅读它。然后你需要配置重写。将以下三行添加到AppConfig中:

复制如下代码:handle:
-rewrite:if(%{req:referer}!="静态"&&%{REQUEST_URI}~"html$")goto"WP-content/plugins/cos-html-cache/static.PHP"
-rewrite:if(!is_dir()&;&!is_file())goto"index.php?%{QUERY_STRING}"
-rewrite:if(path~"/(\s*)$"&;&%{REQ:REFERER}!="staticindex")转到"WP-content/plugins/cos-html-cache/index.PHP"

注意伪静态的规则一定要在另外两个规则中间,否则很容易出错。

然后,转到cos的插件目录,新建index.php和static.php两个文件,分别用于处理首页和文章页的重定向输出,并编写如下代码:

复制代码如下:define("summeta","<!-这是在“创建的第一个视图页面。日期("Y-m-dH:i:s")。"到夏天->;");
$kv=newSAEkv();
$kv->;init();
$sitemap=$kv->;get($_SERVER['SCRIPT_URI']);
if($sitemap){
header('Content-type:text/html;charset=utf-8');
echo$sitemap;
}else{
echofetchUrl($_SERVER['SCRIPT_URI'])。SUMMETA
}
functionfetchUrl($URL){
$ch=curl_init();
curl_setopt($ch,CURLOPT_AUTOREFERER,0);
curl_setopt($ch,CURLOPT_REFERER,'static');
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$ret=curl_exec($ch);
curl_close($ch);
if($ret){
ret$ret;
}else{
返回false
}
}

上面这个是static.php的,主要功能是输出KVDB的内容。如果它不存在,它将从后端程序请求一个页面,并生成一个静态页面到KVDB。index.html和上面类似,只是在get的键后面加上/index.html,然后把REFERER的值改成staticindex。

还需要注意的是,在使用插件之前,您的博客必须已经来自伪静态,否则它将没有任何效果。而且纯静态之后,文章和随机文章的访问统计都会失效。解决方案是使用javascript统计数据,然后使用ajax请求数据。

这样就可以去后台启用插件了。如何确定是否生成了静态页面?可以在访问的时候检查一下源代码,拉到最下面看看有没有生成一行插件的标签。

2015-03-31更新:

1.解决头版问题

点击这里下载插件

2015-06-23更新:

1.解决主页搜索跳转

说明:网站有搜索功能时,搜索是用S参数携带的,但插件并不判断这个参数,所以搜索会一直循环跳转到首页
。解决方法:只需添加判断即可。

希望这篇文章对大家基于wordpress的编程有所帮助。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存