WordPress在Nginx(CentOs)中伪静态规则设置rewrite的conf文件

2015年6月11日 发表评论 阅读评论

注意在wdcp下面的伪静态规则文件管理(rewrite规则管理)直接新建个wp_nginx.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;
}
}       

1、在相应nginx配置文件的server容器中添加下面的代码

例如:
vi /usr/local/nginx/conf/nginx.conf #编辑nginx配置文件

找到server_name localhost;在后面一行添加下面的代码

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

:保存配置文件

service nginx restart #重启nginx

注意: if 后面有空格否则重新启动nginx 会出现如下错误信息:

正在启动 nginx : nginx: [emerg] unknown directive "if(-f" in /usr/local/nginx/nginx.conf:12 
   http://blog.rekfan.com/?p=167
2、 然后在WordPress后台-设置-固定链接-自定义结构,输入/articles/%post_id%.html
最后保存更改即可。

 

WordPress在Nginx的伪静态设置

相信用Wordpress的博主们都会用到伪静态,伪静态的好处是对搜索引擎友好,看起来也好看。

用虚拟主机的用户大都是用Apache,Apache的伪静态Wordpress支持很好,几乎不用自己去编辑。喜爱折腾,喜爱独立博主们用VPS的还是很多的,Nginx在VPS中作为架设环境还是挺常见,但是用Nginx时Wordpress就变成瞎子一般,这里就怎样在Nginx下设置伪静态。

我们不需要了解怎样写伪静态,不需要了解原理,只需按照下面的方法,你的Wordpress就可以在Nginx下开启伪静态了!Just do IT!

Nginx不需要.htaccess

编辑虚拟主机的nginx.conf(usr/local/nginx/conf/vhost/域名.conf.一定是你的域名的配置文件!),在

server {
listen 80;
server_name …
root …
之后添加

location / {
index index.html index.php;
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;
}
}
然后再重新加载Nginx:(这个很重要)

/etc/init.d/nginx restart

第二种方法
在server容器中添加下面这几行
—————————————————————————-
location / {
try_files $uri $uri/ /index.php?q=$uri&$args; #只添加这一行就行了
}
全文结束,有问题欢迎留言讨论。


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/956.html

  1. 本文目前尚无任何评论.