配置nginx使其支援php-fpm時,發現一個問題,如下圖配置
#此時造訪http://host/server.php是沒問題的
#但是當我去掉了~後
如圖
#此時造訪http://host/server.php出問題了
#請教為什麼一定要有~號呢
我原先的理解是,/server.php這個uri能夠匹配location php且匹配的長度比location / 長(3:1),所以在這種情況下有沒有~ 都是一樣的,結果卻出人意料
求教大神,這是怎麼回事?
业精于勤,荒于嬉;行成于思,毁于随。
以=開頭表示精確匹配
如 A 中只符合根目錄結尾的請求,後面不能帶任何字串。
^~ 開頭表示uri以某個常規字串開頭,不是正則匹配
~ 開頭表示區分大小寫的正規匹配;
~* 開頭表示不區分大小寫的正規匹配
/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到
沒有看過你這種都不符合的情況。 參考nginx設定location總結及rewrite規則寫法
以=開頭表示精確匹配
如 A 中只符合根目錄結尾的請求,後面不能帶任何字串。
^~ 開頭表示uri以某個常規字串開頭,不是正則匹配
~ 開頭表示區分大小寫的正規匹配;
~* 開頭表示不區分大小寫的正規匹配
/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到
沒有看過你這種都不符合的情況。
參考nginx設定location總結及rewrite規則寫法