Nginx下二级目录wordpress网站伪静态

当wordpress网站web服务器是nginx的时候,rewrite不像Apache那样自动加载。需要手动在nginx进行配置。当然不仅仅是wordpress,那些需要进行url重写的程序,都要对网站的nginx配置文件修改。

如果wordpress使用的默认连接格式,就是不进行重写,网站其实也没有太大的问题,只是url格式不太符合SEO。但是,你如果想让wordpress用自定义的链接格式,那么就需要对nginx重写进行配置。不然,wordpress的文章页面就会出现404错误。

先说一下当wordpress程序在根目录的时候的配置:

在nginx配置目录下建一个wordpress.conf文件,格式如下:

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

然后在网站的配置文件里包含此文件,一般网站配置文件的命名格式都是 域名.conf:

include wordpress.conf;

重启Nginx即可。

若是wordpress在二级目录下,那么只需要对上面步骤里的wordpress.conf进行改变即可:

location /wordpress/ {
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 (.*) /wordpress/index.php;
}
}

/wordpress/ 换成你的wordpress所在的二级目录名字即可。

关于nginx的重写规则,也许会在以后的文章里做一个总结。

You may also like...