wordpress静态化首页及去除url中的index.html

使用wordpass博客程序的朋友都知道他的默认首页是index.php,然而地球人都知道index.html的太首页能够提高网站首页的访问速度。原因的话。地球人都知道的。 其实呢cms主题嘛,首页的文章展示模块太多了,所以产生的sql查询也就多了,自然而然的加载速度也就很慢咯尤其是数据展示量比较的cms主题,那加载速度可不敢恭维了。 那么如何加快解构比较复杂的wordpress cms主题的加载速度呢?小残给出两个方案。 方案一

使用wordpass博客程序的朋友都知道他的默认首页是index.php,然而地球人都知道index.html的太首页能够提高网站首页的访问速度。原因的话。地球人都知道的。

其实呢cms主题嘛,首页的文章展示模块太多了,所以产生的sql查询也就多了,自然而然的加载速度也就很慢咯尤其是数据展示量比较的cms主题,那加载速度可不敢恭维了。

那么如何加快解构比较复杂的wordpress cms主题的加载速度呢?小残给出两个方案。

方案一:在服务器上安装eaccelerator或memcached这类的数据库缓存脚本,并且安装相关的wordpress插件。

(PS:这个方案适合VPS或者独立服务器的用户,如果小伙伴用的是虚拟主机那就别奢望这个方法了。)

方案二:为wordpress首页生成一个html文件跳过sql查询。

(这个方法最有效,效果也很好,而且对小伙伴的空间配置要求不高,虚拟主机即可使用。)

实现方法:

1、新建一个名为index_html.php的文件并加入一下代码:

<?php   
$baseCmsUrl = \"http://www.exehack.net\";   //你网站的根目录不要加反斜杠/   
$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\");    //生成后返回静态首页   
?>

将文件上传到网站根目录后直接打开浏览器访问该文件即可为wordpress首页生成html。

生成index.html文件后,我们要注意的是我们直接访问自己的域名和访问域名+index.html都会显示首页这样的会搜索引擎会认为你在制造重复页面,会给网站带来一定的负面影响

下面小残给出解决此问题的方法(访问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://www.exehack.net/ [R=301,L]

nginx下的解决方法:

location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.html/$1 last;
}
}

apache下只要将代码加到.htaccess文件最上面即可,域名替换成你自己的域名,至于nginx,小残就不多说了,既然你都用上了nginx那么这点问题应该还是懂的。

原创文章,作者:WP侦探,如若转载,请注明出处:https://www.davidwu.net/archives/4404

发表评论

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

联系我们

在线咨询:点击这里给我发消息

邮件:itbound@sina.com

工作时间:周一至周六,9:30-18:30

 

QR code