1. 程式人生 > >nginx根目錄重定向到首頁

nginx根目錄重定向到首頁

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;       

 location =/ {

             rewrite ^(.*)$  http://120.77.213.193/joinf-pc-c/total_app/html/talentWeb/talentWeb-box.html last;     //輸入ip重定向到首頁
        }

        location / {
            root   html;
            index  index.html index.html;

        }

nginx location匹配規則

location匹配命令

~ #波浪線表示執行一個正則匹配,區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
^~ #^~表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= #進行普通字元精確匹配
@ #"@" 定義一個命名的 location,使用在內部定向時,例如 error_page, try_files

  1. =字首的指令嚴格匹配這個查詢。如果找到,停止搜尋。
  2. 所有剩下的常規字串,最長的匹配。如果這個匹配使用^〜字首,搜尋停止。
  3. 正則表示式,在配置檔案中定義的順序。
  4. 如果第3條規則產生匹配的話,結果被使用。否則,如同從第2條規則被使用。

location 匹配的優先順序(與location在配置檔案中的順序無關)
= 精確匹配會第一個被處理。如果發現精確匹配,nginx停止搜尋其他匹配。
普通字元匹配,正則表示式規則和長的塊規則將被優先和查詢匹配,也就是說如果該項匹配還需去看有沒有正則表示式匹配和更長的匹配。
^~ 則只匹配該規則,nginx停止搜尋其他匹配,否則nginx會繼續處理其他location指令。
最後匹配理帶有"~"和"~*"的指令,如果找到相應的匹配,則nginx停止搜尋其他匹配;當沒有正則表示式或者沒有正則表示式被匹配的情況下,那麼匹配程度最高的逐字匹配指令會被使用。

location  = / {
  # 只匹配"/".
  [ configuration A ] 
}
location  / {
  # 匹配任何請求,因為所有請求都是以"/"開始
  # 但是更長字元匹配或者正則表示式匹配會優先匹配
  [ configuration B ] 
}
location ^~ /images/ {
  # 匹配任何以 /images/ 開始的請求,並停止匹配 其它location
  [ configuration C ] 
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配以 gif, jpg, or jpeg結尾的請求. 
  # 但是所有 /images/ 目錄的請求將由 [Configuration C]處理.   
  [ configuration D ] 
}