test1 发表于 2017-1-31 20:00:40

云主机 nginx中常见的rewrite伪静态配置

说明

Nginx中rewrite/url重写规则与Apache、IIS中的规则有所不同;Nginx中rewrite规则文件名为 nginx.conf,Nginx中常见的程序伪静态规则如下。

常见程序伪静态规则

Discuz!程序rewrite规则:
location / {
      rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
      rewrite ^([^\.]*)/article-(+)-(+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
      rewrite ^([^\.]*)/forum-(\w+)-(+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/thread-(+)-(+)-(+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
      rewrite ^([^\.]*)/group-(+)-(+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
      rewrite ^([^\.]*)/(+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
      if (!-e $request_filename) {
                return 404;
      }
}
~      PhpWind程序rewrite规则:

location / {
      rewrite ^(.*)-htm-(.*)$ $1.php?$2 last;
      rewrite ^(.*)/simple/(+\.html)$ $1/simple/index.php?$2 last;
}
typecho程序rewrite规则:
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;
      }
}
WordPress程序rewrite规则:
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中常见的rewrite伪静态配置