很多朋友向我询问过,Bo-Blog的Nginx Rewrite规则如何写。由于Bo-Blog官网只提供了Apache的Rewrite规则,这里,我将自己从 Bo-Blog 的 Apache Rewrite 规则转换而来的 Bo-Blog 2.1.1 的 Nginx Rewrite 重写规则贴在此处,供需要的朋友使用:
以下是代码片段: if (!-x $request_filename) { rewrite ^/post/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?entryid=$1&page=$2&part=$3 last; rewrite ^/page/([0-9]+)/([0-9]+)/?$ /index.php?mode=$1&page=$2 last; rewrite ^/starred/([0-9]+)/?([0-9]+)?/?$ /star.php?mode=$1&page=$2 last; rewrite ^/category/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=category_$1&mode=$2&page=$3 last; rewrite ^/archiver/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=archive&cm=$1&cy=$2&mode=$3&page=$4 last; rewrite ^/date/([0-9]+)/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=showday_$1-$2-$3&mode=$4&page=$5 last; rewrite ^/user/([0-9]+)/?$ /view.php?go=user_$1 last; rewrite ^/tags/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /tag.php?tag=$1&mode=$2&page=$3 last; rewrite ^/component/id/([0-9]+)/?$ /page.php?pageid=$1 last; rewrite ^/component/([^/]+)/?$ /page.php?pagealias=$1 last; #Force redirection for old rules rewrite ^/read.php/([0-9]+).htm$ http://$host/post/$1/ permanent; rewrite ^/post/([0-9]+).htm$ http://$host/post/$1/ permanent; rewrite ^/post/([0-9]+)_([0-9]+).htm$ http://$host/post/$1/$2/ permanent; rewrite ^/post/([0-9]+)_([0-9]+)_([0-9]+).htm$ http://$host/post/$1/$2/$3/ permanent; rewrite ^/index_([0-9]+)_([0-9]+).htm$ http://$host/page/$1/$2/ permanent; rewrite ^/star_([0-9]+)_([0-9]+).htm$ http://$host/starred/$1/$2/ permanent; rewrite ^/category_([0-9]+).htm$ http://$host/category/$1/ permanent; rewrite ^/category_([0-9]+)_([0-9]+)_([0-9]+).htm$ http://$host/category/$1/$2/$3/ permanent; rewrite ^/archive_([0-9]+)_([0-9]+).htm$ http://$host/archiver/$1/$2/ permanent; rewrite ^/archive_([0-9]+)_([0-9]+)_([0-9]+)_([0-9]+).htm$ http://$host/archiver/$1/$2/$3/$4/ permanent; rewrite ^/showday_([0-9]+)_([0-9]+)_([0-9]+).htm$ http://$host/date/$1/$2/$3/ permanent; rewrite ^/showday_([0-9]+)_([0-9]+)_([0-9]+)_([0-9]+)_([0-9]+).htm$ http://$host/date/$1/$2/$3/$4/$5/ permanent; #Filename alias rewrite ^/([a-zA-Z0-9_-]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?blogalias=$1&page=$2&part=$3 last; }
|