我们做PHP开发的,作者寒冰我觉得大部分时候都在跟开源的系统打交道。比如:Discuz、PHPCMS、ecshop、wordpress等开源系统。一般我们都是在本地搭建测试环境,用的web服务器都是apache。这时候假如服务器换成了nginx。我们得重新写重写文件,好麻烦。
鉴于此需求点,今天寒冰我特意整理了这些开源的重写文件。希望能帮到大家。
1、PHPCMS v9重写。
rewrite ^/show-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3; rewrite ^/content-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3; rewrite ^/list-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=lists&catid=$1&page=$2; rewrite ^/tag-([^.]*)-([0-9]+)-([0-9]+).html /index.php?m=content&c=tag&catid=$2&tag=$1&page=$3; rewrite ^/comment-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=comment&c=index&a=init&commentid=content_$1-$2-$3;
2、discuz 7.2重写:
rewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2 last; rewrite ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 last; rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last; rewrite ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3 last; rewrite ^(.*)/space-(username|uid)-(.+).html$ $1/space.php?$2=$3 last; rewrite ^(.*)/tag-(.+).html$ $1/tag.php?name=$2 last;
3、discuz x2系列重写:
rewrite ^(.*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last; rewrite ^(.*)/article-([0-9]+).html$ $1/portal.php?mod=article&articleid=$2 last; rewrite ^(.*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last; rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last; rewrite ^(.*)/group-([0-9]+)-([0-9]+).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 ^(.*)/([a-z]+)-(.+).html$ $1/$2.php?rewrite=$3 last;
4、ecshop重写:
rewrite ^/index.html /index.php last; rewrite ^/category$ /index.php last; rewrite ^/feed-c([0-9]+).xml$ /feed.php?cat=$1 last; rewrite ^/feed-b([0-9]+).xml$ /feed.php?brand=$1 last; rewrite ^/feed.xml$ /feed.php last; 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; 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; 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; rewrite ^/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*).html$ /category.php?id=$1&brand=$2&page=$3 last; rewrite ^/category-([0-9]+)-b([0-9]+)(.*).html$ /category.php?id=$1&brand=$2 last; rewrite ^/category-([0-9]+)(.*).html$ /category.php?id=$1 last; rewrite ^/goods-([0-9]+)(.*).html /goods.php?id=$1 last; rewrite ^/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$ /article_cat.php?id=$1&page=$2&sort=$3&order=$4 last; rewrite ^/article_cat-([0-9]+)-([0-9]+)(.*).html$ /article_cat.php?id=$1&page=$2 last; rewrite ^/article_cat-([0-9]+)(.*).html$ /article_cat.php?id=$1 last; rewrite ^/article-([0-9]+)(.*).html$ /article.php?id=$1 last; 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; rewrite ^/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*).html /brand.php?id=$1&cat=$2&page=$3 last; rewrite ^/brand-([0-9]+)-c([0-9]+)(.*).html /brand.php?id=$1&cat=$2 last; rewrite ^/brand-([0-9]+)(.*).html /brand.php?id=$1 last; rewrite ^/tag-(.*).html /search.php?keywords=$1 last; rewrite ^/snatch-([0-9]+).html$ /snatch.php?id=$1 last; rewrite ^/group_buy-([0-9]+).html$ /group_buy.php?act=view&id=$1 last; rewrite ^/auction-([0-9]+).html$ /auction.php?act=view&id=$1 last; rewrite ^/exchange-id([0-9]+)(.*).html$ /exchange.php?id=$1&act=view last; 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; rewrite ^/exchange-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$ /exchange.php?cat_id=$1&page=$2&sort=$3&order=$4 last; rewrite ^/exchange-([0-9]+)-([0-9]+)(.*).html$ /exchange.php?cat_id=$1&page=$2 last; rewrite ^/exchange-([0-9]+)(.*).html$ /exchange.php?cat_id=$1 last;
5、phpwind重写:
rewrite ^(.*)-htm-(.*)$ $1.php?$2 last; rewrite ^(.*)/simple/([a-z0-9\_]+.html)$ $1/simple/index.php?$2 last; rewrite ^(.*)/data/(.*).(htm|php)$ 404.html last; rewrite ^(.*)/attachment/(.*).(htm|php)$ 404.html last; rewrite ^(.*)/html/(.*).(htm|php)$ 404.html last;
6、shopex重写:
rewrite ^/(.+.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php?$1 last;
7、wordpress重写:
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; } }
8、typecho 重写:
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; } }
原文:http://www.phpcxz.com/archives/nginx_vhosts_rewrite.html