北极寒流 » 网络资源 » VPS LNMP环境WordPress程序伪静态规则(nginx rewrite伪静态) - 2014.08.05

VPS LNMP环境WordPress程序伪静态规则(nginx rewrite伪静态)

以前用LAMP环境,如果需要对WordPress伪静态,只要修改网站根目录下的htaccess文件即可。现在换成LNMP环境,那即使你把伪静态规则丢进htaccess文件中,wordpress伪静态也是不生效的,其实出现这个问题的根本原因在于你的系统环境换成了LAMP,因为Lnmp采用的是nginx,而不是apache,nginx 环境下要对wordpress做伪静态已经不是修改htaccess文件了。

那nginx环境下该如何做伪静态呢?

首先,默认安装的lnmp环境中已经有伪静态文件wordpress.conf文件在"/usr/local/nginx/conf/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;
}

如果不是,我们需要修改成上面的代码文件用来rewrite跳转伪静态。

其次,我们需要在属于我们网站的配置文件:

/usr/local/nginx/conf/vhost/www.articn.com.conf(自己添加域名自动命名)

我们会看到类似下面的代码,注意红色部分是我们要加上去的:

server {
listen 80;
server_name www.articn.com;
index index.html index.php;
include wordpress.conf;

最后,我们用ssh登录VPS,然后用下面的命令重启lnmp ,然后更新wordpress的固定连接

/root/lnmp restart

执行上面三步骤之后,你会发现你的wordpress伪静态规则已经生效了。

万能的wordpress伪静态配置规则

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;

}

另外一种nginx下WordPress固定链接的伪静态规则

在nginx配置文件nginx.conf的location段添加一行就OK。

1. 打开nginx配置文件:

# vim /etc/nginx/nginx.conf(此路径根据Linux版本与安装路径会有不同)

2. 在server容器中添加下面这几行

location /
{
try_files $uri $uri/ /index.php?q=$uri&$args;
}

3. 重新加载nginx配置文件

# /etc/init.d/nginx reload

 

在线apache htaccess 伪静态规则转换 nginx rewrite

05

VPS LNMP环境WordPress程序伪静态规则(nginx rewrite伪静态)

分享到:

最受欢迎的

  • N/A