`

wordpress 不使用插件 实现 页面静态化

 
阅读更多


原文链接:http://www.51ask.org/article/366

 

 

wordpress 不使用插件 实现 页面静态化

 
 
 
功能:
首次访问页面会生成静态页面,可以设定生成静态文件时间,超过指定时间重新生成。
 
修改项目入口文件 index.php(提前备份):
 
function is_mobile(){

		$regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
		$regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
		$regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";    
		$regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
		$regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
		$regex_match.=")/i";        
		return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));

	}

    $requestUri = '';
    if (isset($_SERVER['REQUEST_URI'])) { #$_SERVER["REQUEST_URI"] 只有 apache 才支持,
        $requestUri = $_SERVER['REQUEST_URI'];
    } else {
        if (isset($_SERVER['argv'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
        } else if(isset($_SERVER['QUERY_STRING'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
        }
    }
    $scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    # 获取的完整url
    $_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
		
	$staticDir = 'static/';

	if(is_mobile()) {
		$suffix = 'mobile';
	} else {
		$suffix = 'pc';
	}
	$fileDir = $staticDir.md5($_fullUrl).'_'.$suffix.'.html';

	//如果生成静态文件在1小时内,直接使用静态文件,否重新生成
	
	if (file_exists ( $fileDir ) && time () - filectime ( $fileDir ) < 3600) {

		include $fileDir;
	} else {
		ob_start ();
		if(file_exists ( $fileDir ))unlink($fileDir);
		define ( 'WP_USE_THEMES', true );
		/**
		 * Loads the WordPress Environment and Template
		 */
		require (dirname ( __FILE__ ) . '/wp-blog-header.php');
		$html = ob_get_contents ();
		$path = $fileDir;
		$fp = fopen($path,"w+");
		flock($fp, LOCK_EX) ;
		fwrite($fp,$html);
		flock($fp, LOCK_UN);
		fclose($fp);
	}
0
0
分享到:
评论

相关推荐

    wordpress全站静态化插件.zip

    在IT行业中,WordPress是一种广泛...综上所述,"wordpress全站静态化插件"通过实现全站HTML静态化,为WordPress用户提供了性能优化和安全保障。合理使用和配置此类插件,对提升网站整体质量和用户体验具有重要意义。

    Wordpress插件 WP实现静态化wp-rocket.zip

    WP Rocket插件的主要功能是通过页面静态化来显著提升网站的加载速度和性能。页面静态化是一种常见的网站优化技术,它将动态生成的网页转换为静态HTML文件,使得用户在访问时可以直接加载预先生成的文件,而无需每次...

    WordPress静态化插件WP-Super-Cache

    WordPress静态化插件,感觉寻找这样插件的人不在少数,人们都说WordPress非常消耗资源,所以,希望有这样的文件。与 WP-Cache 相同,可以通过缓存来提高大负载下WordPress的性能。WP Super Cache 相比 WP-Cache 最大...

    wordpress插件纯静态html网页页面生成插件simply-static

    simply-static是一个简单的一键生成全站静态html文件的wordpress插件,支持生成或不生成指定url的html文件,生成文件的资源路径可选相对路径、绝对路径和脱机文件,html文件可以直接生成在服务器或zip压缩包下载。...

    WordPress独立下载插件

    相信大家都见过诸多wordpress大牛的网站都有独立下载页面吧!可是他们怎么实现的呢?...今天给大家带来的是一款无需新建wordpress网站,也无需大量代码适配即可完成的一款wordpress插件:wordpress独立下载页面插件

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

    而纯静态的首选方法就是使用插件,WordPress有着好几款静态化的插件,但是对于SAE的特殊环境来说,都是无能为力。今天就借着一款叫做cos-html-cache的插件,来实现把文章页面和首页都静态化到KVDB中。 由于SAE是全...

    页面静态化之真静态

    页面静态化是Web开发中的一种优化策略,主要目的是提高网站的加载速度和用户体验,同时也有助于搜索引擎优化(SEO)。真静态,顾名思义,就是将动态网页转化为静态HTML文件,用户请求时直接返回这些预生成的HTML,而...

    页面静态化处理

    4. **页面静态化实现**: - 使用模板引擎(如Twig、Smarty、Jinja2)将数据填充到HTML模板中。 - 路由控制:动态路由到动态处理,静态路由直接返回静态文件。 - 缓存策略:如使用Memcached、Redis缓存动态内容,...

    wordpress独立下载页面插件:xydown

    这些大牛的网站如异次元都是使用php动态生成的一个页面,通过伪静态处理,让我们以为是独立页面,实际上,还是一个站点。今天逍遥乐给大家带来的是一款无需新建wordpress网站,也无需大量代码适配即可完成的一款 ...

    传智播客PHP培训 页面静态化教程 PPT 笔记 软件

    4. **内容管理系统(CMS)集成**:许多CMS如WordPress、Drupal等支持插件或模块实现页面静态化,自动处理文章、页面的生成与更新。 5. **定时任务或钩子**:设置定时任务(如Cron Job)定期检查数据库,当内容更新时...

    WordPress网站优化插件youpzt-optimizer1.2.1

    此外,插件还提供缓存机制,将常访问的页面存储为静态文件,减少服务器处理时间,提高响应速度。 在用户体验方面,Youpzt-Optimizer可以实现延迟加载(Lazy Loading)功能,即当用户滚动到图片时才开始加载,降低...

    七牛镜像云存储WordPress插件使用指南

    ### 七牛镜像云存储WordPress插件使用指南 #### 一、七牛云存储简介 七牛云存储是一款由七牛科技提供的专业云存储服务。与传统的云存储服务(例如Amazon S3)相比,七牛云存储不仅提供无限量的云端存储空间,而且...

    wordpress插件 js_composer中文

    - `inline`、`locale`、`composer`、`config`、`assets`、`theme_locale`等目录:分别存储了插件的内联样式、本地化文件、核心组件、配置信息、静态资源(如CSS和JavaScript)以及主题相关的本地化文件。 总的来说...

    wordpress伪静态设置非插件

    在不使用任何插件的情况下,你可以手动配置WordPress伪静态,这个过程涉及到修改WordPress的固定链接设置以及创建一个`.htaccess`文件来定义重写规则。下面我们将详细解释如何进行这些步骤。 首先,你需要确保你的...

    WordPress静态加速插件:果果加速

    支持将网站前台页面内容缓存到...支持配置指定GET\COOKIE参数缓存,排除页面链接(不缓存),页面格式化(源码格式化到一行,压缩源码),输出响应缓存头。(商业版) 下载地址:https://www.ggdoc.cn/plugin/5.html

    WordPress页面静态化与静态文件不生成的解决方法

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

    wordpress 加速插件

    总结,"WordPress加速插件"通过上述多种技术手段提高网站性能,`readme.txt`文件通常会包含插件的安装、配置和使用指南。正确选择和配置加速插件,可以显著提升WordPress网站的加载速度,为用户提供更流畅的浏览体验...

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

    在Wordpress中实现页面静态化,常常会用到各种插件,其中`cos-html-cache 2.7.3`是一个常用的解决方案。这个插件能够自动将动态内容转换为静态HTML,并存储在服务器上,当用户请求页面时,直接返回静态文件,减少...

    十大最佳WordPress插件推荐.pdf

    这个插件可以与 WPSuperCache 配合使用,以实现更好的缓存和静态化效果。 计数统计:WP-PostViews WP-PostViews 是一个文章计数统计插件,可以在文章中显示浏览数,还提供了一些统计功能,比如一定时间内浏览最多...

Global site tag (gtag.js) - Google Analytics