最近群里的小伙伴又在抱怨安装的wordpress主题加载太慢了,其实呢cms主题嘛,首页的文章展示模块太多了,所以产生的sql查询也就多了,自然而然的加载速度也就很慢咯尤其是数据展示量比较的主题,那加载速度可不敢恭维了。那么如何加快解构比较复杂的wordpress主题的加载速度呢?
实现方法
1.新建一个页面(一定要注意编码格式utf-8),命名为index_html.php,将以下代码粘贴进去;
<?php if(file_exists("index.html")) { unlink("index.html"); } $baseCmsUrl = "http://blog.gezier.com"; $dmPageName = "index.php"; $stPageName = "index.html"; $tureStFile = dirname(__FILE__).'/'.$stPageName; { $body = file_get_contents($baseCmsUrl.'/'.$dmPageName); $fp = fopen($tureStFile, 'w'); fwrite($fp, $body); fclose($fp); } header("Location:$baseCmsUrl/index.html"); ?>
2.将index_html.php页面上传到网站更目录;
3.访问http://你的网站/index_html.php页面,此时会在同目录下自动生成index.html文件了,这样每次访问我们的wordpress网站首页的时候,会自动跳转到生成的index.html页面上去。每次写完文章之后请手动访问http://你的网站/index._html.php页面
生成index.html文件后,我们要注意的是我们直接访问自己的域名和访问域名+index.html都会显示首页这样的会搜索引擎会认为你在制造重复页面,会给网站带来一定的负面影响,下面小V给出解决此问题的方法(访问index.html301转跳到/,即去除掉首页url中的index.html):
apache下的解决方法:
RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/ RewriteRule ^index\.(php|html|htm)$ http://blog.gezier.com/ [R=301,L]
nginx下的解决方法
location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.html/$1 last; } }
apache下只要将代码加到.htaccess文件最上面即可,域名替换成你自己的域名,至于nginx,就不多说了,既然你都用上了nginx那么这点问题应该还是懂的。