当前位置:首页 > CMS教程 > WordPress > 列表

WordPress博客nginx配置参数详解

发布:smiling 来源: PHP粉丝网  添加日期:2015-11-11 09:29:42 浏览: 评论:0 

wordpress是一款非常强大的开源的博客了,这款开源的博客对于各位朋友来讲也是非常的常用了,今天我们来介绍WordPress博客nginx配置参数详解.

WordPress是一个非常流行的Blog系统,它可以利用Apache的mod_rewrite来实现URL的静态化,安装好的WordPress在配置了持久链接之后,会在网站的根目录下(如果可写)生成一个.htaccess文件,这个文件可以指示Apache如何进行URL重写(如果服务器配置为允许使用htaccess的指令的话),它的内容如下:

  1. # BEGIN WordPress 
  2.  
  3. RewriteEngine On 
  4. RewriteBase / 
  5. RewriteCond %{REQUEST_FILENAME} !-f 
  6. RewriteCond %{REQUEST_FILENAME} !-d 
  7. RewriteRule . /index.php [L] 
  8.  
  9. # END WordPress 

这个文件的意思就是,如果当请求的文件不存在,那么把请求内部重定向到/index.php,WordPress会自己分析请求的URL,来判断显示哪个页面.

在上次配置了Nginx+PHP之后,由于Nginx不支持Apache的.htaccess文件,要实现持久连接静态化,我们必须手工配置Nginx的文件,首先找到Nginx的配置文件,默认编译后的配置文件在/usr/local/nginx/conf/nginx.conf;Ubuntu通过包安装的配置文件位于/etc/nginx/nginx.conf,也可以编辑vhost的配置文件,放在了/etc/nginx/sites-available下.

以下是基本的配置,Ubuntu下的范例:

  1. location / { 
  2.        index index.html index.php; 
  3.        if (-f $request_filename/index.html){ 
  4.            rewrite (.*) $1/index.html break
  5.        } 
  6.        if (-f $request_filename/index.php){ 
  7.            rewrite (.*) $1/index.php; 
  8.        } //phpfensi.com 
  9.        if (!-f $request_filename){ 
  10.            rewrite (.*) /index.php; 
  11.        } 
  12.    } 
  13.    location ~ .*\.php$ { 
  14.        include /etc/nginx/fastcgi_params; 
  15.        fastcgi_pass 127.0.0.1:9000; 
  16.        fastcgi_index index.php; 
  17.    } 

还可以有很多种不同配置方式,例如不改写所有包含wp-的url等,此配置考虑了目录下的索引文件index.html和index.php,-f指令表示测试文件是否存在,不考虑文件和目录的区别,!-f则表示不存在,注意在重写url到index.html后面有个break,而重写到index.php后没有break。因为html文件不需要任何额外工作可以直接发送到客户端,所以重写规则在这里终止,下面就直接让nginx发送文件,而.php文件需要进一步发送到fastcgi进程来运行,Nginx会继续判断该文件符合第二个部分location ~ .*\.php$的规则,并进行FastCGI的转发.

大家可以将以上内容保存为wordpress.conf,然后在自己的vhost配置,即server节中应用该配置文件,例如,以下为Ubuntu进行的配置:

  1. server { 
  2.         listen   80; 
  3.         server_name  phpfensi.com  *.phpfensi.com ; 
  4.  
  5.         root /var/www/phpfensi.com ; 
  6.  
  7.         include /etc/nginx/wordpress.conf; 

接下来让Nginx重新载入配置文件,便可使用WordPress的持久链接了.

Tags: WordPress nginx配置参数

分享到: