WordPress伪静态规则实现.html后缀
更新
2017年2月3日17:44 更新第二种伪静态方法
科普
SEO常见的URL表现形式有静态、动态、伪静态三种。严格来说,伪静态也是动态的一种,只是表现形式为静态URL结构。下面来谈谈伪静态的优缺点(其它两种谷歌)。
1. 优点
- 对搜索引擎具有友好性:伪静态相比动态是更利于收录的。
- 提升用户体验:伪静态链接简短,容易记住,分享效果比动态的好。
2. 缺点
- 网页打开速度:伪静态其实是动态,因此也避免不了网页打开速度慢的情况。
- 网站容易奔溃:过度实用伪静态,当网站流量稍大容易出现CPU超负荷,导致网站奔溃。
Nginx伪静态规则
Nginx环境一般上是Linux VPS,配置Nginx一般是打开nginx.conf文件或者是 域名.conf文件
配置代码如下
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
上面代码加进去后的确可以打开.html结尾的网页,但是又面临一个问题:后台出现404错误现象,经过博主一番搜索,找到来自码农小兵的一篇文章。
解决方法很简单,在原来的代码上再加一句,如下示例
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
最后保存,重启Nginx.
方法二:
在nginx.conf文件或者域名.conf文件添加如下代码
rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
最后保存,重启Nginx.