歡迎您光臨本站 註冊首頁

nginx重寫正則匹配問題

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

nginx重寫正則匹配問題

Nginx大概配置如下:   
upstream   appserver  {
        server   192.168.1.104:8081 weight=10 max_fails=3 fail_timeout=600s   ;
        }

    server {
          listen       80;
          server_name  *.jingsai.xxx.com;
          charset utf-8;


          access_log  logs/access.log  main;

          location / {

          index  index.aciton index.jsp index.html index.htm;


          if ($host ~* www\.(+)\.(+)\.(+)?$) {
               rewrite ^/(.*)$  http://$host/anquan/page/competIndex.action last ;
               break;
          }

          if ($host ~* ^(+)\.(+)\.(+)\.(+)?$) {
               rewrite ^/(.*)$  http://$host/anquan/page/index.action  last;
               break;

          }

          if ($host ~* www\.(+)\.(+)\.(+)/kepu$) {
               rewrite ^/(.*)$  http://$host/kepu/page/competIndex.action last ;
               break;
          }

          if ($host ~* ^(+)\.(+)\.(+)\.(+)/kepu$) {
               rewrite ^/(.*)$  http://$host/kepu/page/index.action  last;
               break;
          }


現在需求是,在瀏覽器(以前均默認是瀏覽器輸入)輸入www.jingsai.xxx.com或者www.jingsai.xxx.com/anquan希望跳轉到 http://jingsai.xxx.com/anquan/page/competIndex.action
輸入abc.jingsai.xxx.com或者abc.jingsai.xxx.com/anquan希望跳轉到http://abc.jingsai.xxx.com//anquan/page/index.action
輸入www.jingsai.xxx.com/kepu希望跳轉到http://jingsai.xxx.com/kepu/page/competIndex.action
輸入abc.jingsai.xxx.com/kepu希望跳轉到http://jingsai.xxx.com/kepu/page/index.action
然後將url傳遞給後端的伺服器(resin)處理

現在問題是輸入www.jingsai.xxx.com/kepu在瀏覽器跳轉到了 http://jingsai.xxx.com/anquan/page/competIndex.action
輸入abc.jingsai.xxx.com/kepu跳轉到了http://abc.jingsai.ciwong.com/anquan/page/index.action

請問我應該怎麼寫這個正則匹配呢?

[火星人 ] nginx重寫正則匹配問題已經有507次圍觀

http://coctec.com/docs/service/show-post-11452.html