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

来源:互联网  时间:2018-01-05    阅读:   我要吐槽    阿里云幸运券

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

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

  1. location / { 
  2. if (-f $request_filename/index.html){ 
  3. rewrite (.*) $1/index.html break; 
  4. if (-f $request_filename/index.php){ 
  5. rewrite (.*) $1/index.php; 
  6. if (!-f $request_filename){ 
  7. rewrite (.*) /index.php; 

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

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

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

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

  1. rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; 
  2.  
  3. if (!-e $request_filename) { 
  4.  
  5. rewrite ^.+?(/wp-.*) $1 last; 
  6.  
  7. rewrite ^.+?(/.*\.php)$ $1 last; 
  8.  
  9. rewrite ^ /index.php last; 
  10.  

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

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

  1. include wordprss.conf 

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

20160621082015

注意事项:

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

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

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

https://codex.wordpress.org/Nginx

Tags:静态  nginx  wordpress  伪静态  

参与讨论