文章詳情頁
關于nginx location匹配的問題
瀏覽:212日期:2024-06-25 10:52:26
問題描述
配置nginx使其支持php-fpm時,發現一個問題,如下圖配置

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

但是當我去掉了~后
如圖

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

請教為什么一定要有~號呢
我原先的理解是,/server.php這個uri能夠匹配location php且匹配的長度比location / 長(3:1),所以在這種情況下有沒有~ 都是一樣的,結果卻出人意料
求教大神,這是怎么回事?
問題解答
回答1:以=開頭表示精確匹配
如 A 中只匹配根目錄結尾的請求,后面不能帶任何字符串。
^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配
~ 開頭表示區分大小寫的正則匹配;
~* 開頭表示不區分大小寫的正則匹配
/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到
沒有見過你這種都不符合的情況。參考nginx配置location總結及rewrite規則寫法
相關文章:
1. boot2docker無法啟動2. docker-compose中volumes的問題3. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””4. java - SSH框架中寫分頁時service層中不能注入分頁類5. nignx - docker內nginx 80端口被占用6. docker安裝后出現Cannot connect to the Docker daemon.7. javascript - mock.js可以存儲數據嗎8. docker api 開發的端口怎么獲取?9. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?10. golang - 用IDE看docker源碼時的小問題
排行榜

網公網安備