nginx上万能的wordpress伪静态配置方案

nginx上万能的wordpress伪静态配置方案

为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

分享到 :
相关推荐