Nginx泛域名解析及Rewrite重定向普通页面及带参数的页面

静态地址重定向到带参数的动态地址
rewrite "^(.*)/service/(.*)\.html$" $1/service.php?sid=$2 permanent;
带参数的动态地址重定向到静态地址
if ($query_string ~* id=(.*)) {
    set $id $1;
    rewrite "^(.*)/article.asp$" $1/article/$id.htm last;
}
泛域名解析
server_name www.w3cgroup.com
*.w3cgroup.com;
server_name_in_redirect off;
#设置默认root
set $rootdir /usr/local/nginx/html/w3cgroup/;
#匹配三级域名
if ($host ~* ^([^\.]+)\.([^\.]+)\.([^\.]+)\.([^\.]+)$) {
    set $rootdir /usr/local/nginx/html/w3cgroup/$2/$1;
    #三级域名中有访问指定的目录则重
已邀请:

孤独者 - 世界属于那些勤于思考的人,更属于那些善于行动的人

赞同来自:

好像挺有用,不过我用不上……
楼主有没有研究过在IIS下的rewrite实现?
就是IIS下有个ISAPI的组件,可以实现rewrite
不过要编写它的httpd.ini文件,对于joomla的正则表达式该怎么写?

跑堂小2 - 冇钱;冇房子;冇成就。要吃饭;要住宿;要消费

赞同来自:

没有研究过

赤木@晴子 - 明月百年心

赞同来自:

https://blog.s135.com/bo-blog_nginx_rewrite/
这里有张宴刚写出来的Nginx的rewrite规则:if (!-e $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$ https://$host/post/$1/ permanent;
     rewrite ^/post/([0-9]+)\.htm$ https://$host/post/$1/ permanent;
     rewrite ^/post/([0-9]+)\_([0-9]+)\.htm$ https://$host/post/$1/$2/ permanent;
     rewrite ^/post/([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ https://$host/post/$1/$2/$3/ permanent;
     rewrite ^/index\_([0-9]+)\_([0-9]+)\.htm$ https://$host/page/$1/$2/ permanent;
     rewrite ^/star\_([0-9]+)\_([0-9]+)\.htm$ https://$host/starred/$1/$2/ permanent;
     rewrite ^/category\_([0-9]+)\.htm$ https://$host/category/$1/ permanent;
     rewrite ^/category\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ https://$host/category/$1/$2/$3/ permanent;
     rewrite ^/archive\_([0-9]+)\_([0-9]+)\.htm$ https://$host/archiver/$1/$2/ permanent;
     rewrite ^/archive\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ https://$host/archiver/$1/$2/$3/$4/ permanent;
     rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ https://$host/date/$1/$2/$3/ permanent;
     rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ https://$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;
  }

要回复问题请先登录注册