首頁  >  問答  >  主體

關於nginx location匹配的問題

配置nginx使其支援php-fpm時,發現一個問題,如下圖配置

#此時造訪http://host/server.php是沒問題的

#但是當我去掉了~後

如圖

#此時造訪http://host/server.php出問題了

#請教為什麼一定要有~號呢

我原先的理解是,/server.php這個uri能夠匹配location php且匹配的長度比location / 長(3:1),所以在這種情況下有沒有~ 都是一樣的,結果卻出人意料

求教大神,這是怎麼回事?

迷茫迷茫2714 天前452

全部回覆(1)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:11:23

    • 以=開頭表示精確匹配

    • 如 A 中只符合根目錄結尾的請求,後面不能帶任何字串。

    • ^~ 開頭表示uri以某個常規字串開頭,不是正則匹配

    • ~ 開頭表示區分大小寫的正規匹配;

    • ~* 開頭表示不區分大小寫的正規匹配

    • / 通用匹配, 如果沒有其它匹配,任何請求都會匹配到

    沒有看過你這種都不符合的情況。
    參考nginx設定location總結及rewrite規則寫法

    回覆
    0
  • 取消回覆