nginx伪静态规则配置的方法

在之前的文章中我们介绍过在Apache服务器上如何配置伪静态的方法,今天接着介绍在nignx服务器上伪静态规则的配置方法。

nginx里使用伪静态是直接在nginx.conf中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态。

nginx只需要打开nginx.conf配置文件或自己单独的配置文件,在server里面写需要的规则即可。示例:

server{

listen80;

#...

#下面就是伪静态了

location/{

if(!-e$request_filename){

rewrite^(.*)$/index.php?s=$1last;

break;

}

}

#......

}

然后重启nginx服务器伪静态就OK了。

不过一般情况下直接在配置文件中添加伪静态规则不方便维护,所以通常会把伪静态配置写在外部文件中,再在配置文件中include进来。

上面的代码可以改进如下:

首先创建外部文件:/usr/local/nginx/conf/rewrite/thinkphp.conf,

然后把自己的规则代码写进去,如:

location/{

if(!-e$request_filename){

rewrite^(.*)$/index.php?s=$1last;

break;

}

}

然后将上面的示例伪静态规则代码改成include代码:

server{

listen80;

#...

#下面就是伪静态了

include/usr/local/nginx/conf/rewrite/thinkphp.conf;

#......

}

这样网站根目录中的伪静态规则就OK了。

补充说明:

实现伪静态,实际用的是rewrite重定向url;

rewrite语法:rewriteregexreplacementflag;

regex:是你要匹配url地址的正则(正则表达式我在这里就不介绍了)

replacement:是你要重定向的url地址

flag:标志位,有以下几种:

1)last:相当于Apache的[L]标记,表示完成rewrite,最常用

2)break:停止执行当前虚拟主机的后续rewrite指令集

3)redirect:返回临时重定向,地址栏会显示跳转后的地址

4)permanent:返回永久重定向,地址栏会显示跳转后的地址




转载请注明:http://www.aierlanlan.com/grrz/7502.html