为wordpress添加伪静态功能,可以让wordpress更快更容易被搜索引擎检索提高网站访问量和访问体验。

nginx是高性能的服务器软件,但是目前网络上流传的wordpress在nginx伪静态规则问题非常多,基本使用的都是以下伪静态代码

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; 
} 
}

以上这段代码在很多环境中会出错,e.g.进入后台后所有功能都会被自动去除/wp-admin/目录。

现在本人提供提供100%完美兼容的nginx伪静态规则

1、使用文本编辑器新建一文本文件

2、在文件中输入以下内容:

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; 
 
}

3、将文件保存为wordpress.conf,注意是utf-8文件

4、在nginx的网站配置文件中引用此文件

include wordprss.conf

5、重启nginx,在wordpress中配置插件和链接格式。e.g.:

注意事项:

最好保持为utf-8编码,避免产生乱码问题

步骤2中的提供的代码要特别注意格式,如半角全角,不要出现多余字符(多余空格也不行),任何多余的字符和格式都会造成失败

官方说明档有兴趣也可以观摩一下

https://codex.wordpress.org/Nginx


WordPressNginx

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。