利用nginx的url rewrite技术,实现伪静态化

在大并发量网站中经常需要使用到静态化技术,但是有时候被静态化的页面可能会因为某种原因被删除了,当用户使用静态页面的url地址来访问时,就会出现404错误。

 

因此我们有这样的想法,当静态页面存在的时候直接返回静态页面,如果不存在的时候指向某个地址生成静态页。

 

这种想法是可以实现的,下面介绍一下使用nginx的url rewrite技术来实现的配置方法

 

if (!-e $request_filename){
    rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?controller=$1&$2&$3 permanent
;
}

 

上面的例子匹配了如下的字符串 /abc/decf/abcd /index.php?controller=abc&decf&abcd

 

当用户访问/abc/decf/abcd所表示的页面不存在时,系统会重定向到/index.php?controller=abc&decf&abcd

 

是不是很方便。

 

nginx很好很强大。

你可能感兴趣的:(nginx,PHP)