建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
Nginx常用伪静态规则-WordPress-PHPCMS-ECSHOP-SHOPEX-Discuz 7
发布日期:2011-03-30 阅读次数:834 字体大小:

当我们从apache服务器转向Nginx服务器的时候,它们的伪静态规则就不一样了,所以你熟悉Nginx服务器的伪静态规则,自己写当然也好。但很多网友还是不太了解Nginx服务器的伪静态规则的,而如果你安装的是一些常用的程序,如WordPress,PHPCMS,ECSHOP,SHOPEX,Discuz 7,那伪静态规则就有现成的了。为方便各位站长,收集了这几个常用程序的伪静态规则。

WordPress伪静态规则

  1. location / {
  2.         index index.html index.php;
  3.         if (-f $request_filename/index.html){
  4.             rewrite (.*) $1/index.html break;
  5.         }
  6.         if (-f $request_filename/index.php){
  7.             rewrite (.*) $1/index.php;
  8.         }
  9.         if (!-f $request_filename){
  10.             rewrite (.*) /index.php;
  11.         }
  12.     }

PHPCMS伪静态规则

  1. location / {
  2. ###以下为PHPCMS 伪静态化rewrite规则
  3. rewrite ^(.*)show-(0-9+)-(0-9+)\.html$ $1/show.php?itemid=$2&page=$3;
  4. rewrite ^(.*)list-(0-9+)-(0-9+)\.html$ $1/list.php?catid=$2&page=$3;
  5. rewrite ^(.*)show-(0-9+)\.html$ $1/show.php?specialid=$2;
  6.  
  7. ####以下为PHPWind 伪静态化rewrite规则
  8. rewrite ^(.*)-htm-(.*)$ $1.php?$2 last;
  9. rewrite ^(.*)/simple/(a-z0-9\_+\.html)$ $1/simple/index.php?$2 last;
  10.  }

ECSHOP伪静态规则

  1. if (!-e $request_filename)
  2. {
  3. rewrite "^/index\.html" /index.php last;
  4. rewrite "^/category$" /index.php last;
  5. rewrite "^/feed-c(0-9+)\.xml$” /feed.php?cat=$1 last;
  6. rewrite “^/feed-b(0-9+)\.xml$” /feed.php?brand=$1 last;
  7. rewrite “^/feed\.xml$” /feed.php last;
  8. rewrite “^/category-(0-9+)-b(0-9+)-min(0-9+)-max(0-9+)-attr(^-*)-(0-9+)-(.+)-(a-zA-Z+)(.*)\.html$” /category.php?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5&page=$6&sort=$7&order=$8 last;
  9. rewrite “^/category-(0-9+)-b(0-9+)-min(0-9+)-max(0-9+)-attr(^-*)(.*)\.html$” /category.php?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5 last;
  10. rewrite “^/category-(0-9+)-b(0-9+)-(0-9+)-(.+)-(a-zA-Z+)(.*)\.html$” /category.php?id=$1&brand=$2&page=$3&sort=$4&order=$5 last;
  11. rewrite “^/category-(0-9+)-b(0-9+)-(0-9+)(.*)\.html$” /category.php?id=$1&brand=$2&page=$3 last;
  12. rewrite “^/category-(0-9+)-b(0-9+)(.*)\.html$” /category.php?id=$1&brand=$2 last;
  13. rewrite “^/category-(0-9+)(.*)\.html$” /category.php?id=$1 last;
  14. rewrite “^/goods-(0-9+)(.*)\.html” /goods.php?id=$1 last;
  15. rewrite “^/article_cat-(0-9+)-(0-9+)-(.+)-(a-zA-Z+)(.*)\.html$” /article_cat.php?id=$1&page=$2&sort=$3&order=$4 last;
  16. rewrite “^/article_cat-(0-9+)-(0-9+)(.*)\.html$” /article_cat.php?id=$1&page=$2 last;
  17. rewrite “^/article_cat-(0-9+)(.*)\.html$” /article_cat.php?id=$1 last;
  18. rewrite “^/article-(0-9+)(.*)\.html$” /article.php?id=$1 last;
  19. rewrite “^/brand-(0-9+)-c(0-9+)-(0-9+)-(.+)-(a-zA-Z+)\.html” /brand.php?id=$1&cat=$2&page=$3&sort=$4&order=$5 last;
  20. rewrite “^/brand-(0-9+)-c(0-9+)-(0-9+)(.*)\.html” /brand.php?id=$1&cat=$2&page=$3 last;
  21. rewrite “^/brand-(0-9+)-c(0-9+)(.*)\.html” /brand.php?id=$1&cat=$2 last;
  22. rewrite “^/brand-(0-9+)(.*)\.html” /brand.php?id=$1 last;
  23. rewrite “^/tag-(.*)\.html” /search.php?keywords=$1 last;
  24. rewrite “^/snatch-(0-9+)\.html$” /snatch.php?id=$1 last;
  25. rewrite “^/group_buy-(0-9+)\.html$” /group_buy.php?act=view&id=$1 last;
  26. rewrite “^/auction-(0-9+)\.html$” /auction.php?act=view&id=$1 last;
  27. rewrite “^/exchange-id(0-9+)(.*)\.html$” /exchange.php?id=$1&act=view last;
  28. rewrite “^/exchange-(0-9+)-min(0-9+)-max(0-9+)-(0-9+)-(.+)-(a-zA-Z+)(.*)\.html$” /exchange.php?cat_id=$1&integral_min=$2&integral_max=$3&page=$4&sort=$5&order=$6 last;
  29. rewrite ^/exchange-(0-9+)-(0-9+)-(.+)-(a-zA-Z+)(.*)\.html$” /exchange.php?cat_id=$1&page=$2&sort=$3&order=$4 last;
  30. rewrite “^/exchange-(0-9+)-(0-9+)(.*)\.html$” /exchange.php?cat_id=$1&page=$2 last;
  31. rewrite “^/exchange-(0-9+)(.*)\.html$” /exchange.php?cat_id=$1 last;
  32. }

SHOPEX伪静态规则

  1. location / {
  2. if (!-e $request_filename) {
  3. rewrite ^/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php?$1 last;
  4.          }
  5. }

Discuz 7伪静态规则

  1. rewrite ^/archiver/((fid|tid)-\w\-+\.html)$ /archiver/index.php?$1 last;
  2. rewrite ^/forum-(0-9+)-(0-9+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
  3. rewrite ^/thread-(0-9+)-(0-9+)-(0-9+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 last;
  4. rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;
  5. rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;

作者:朱茂海

文章来源:朱茂海的博客