關(guān)于nginx location匹配的問(wèn)題
問(wèn)題描述
配置nginx使其支持php-fpm時(shí),發(fā)現(xiàn)一個(gè)問(wèn)題,如下圖配置
此時(shí)訪問(wèn)http://host/server.php是沒(méi)問(wèn)題的
但是當(dāng)我去掉了~后
如圖
此時(shí)訪問(wèn)http://host/server.php出問(wèn)題了
請(qǐng)教為什么一定要有~號(hào)呢
我原先的理解是,/server.php這個(gè)uri能夠匹配location php且匹配的長(zhǎng)度比location / 長(zhǎng)(3:1),所以在這種情況下有沒(méi)有~ 都是一樣的,結(jié)果卻出人意料
求教大神,這是怎么回事?
問(wèn)題解答
回答1:以=開(kāi)頭表示精確匹配
如 A 中只匹配根目錄結(jié)尾的請(qǐng)求,后面不能帶任何字符串。
^~ 開(kāi)頭表示uri以某個(gè)常規(guī)字符串開(kāi)頭,不是正則匹配
~ 開(kāi)頭表示區(qū)分大小寫的正則匹配;
~* 開(kāi)頭表示不區(qū)分大小寫的正則匹配
/ 通用匹配, 如果沒(méi)有其它匹配,任何請(qǐng)求都會(huì)匹配到
沒(méi)有見(jiàn)過(guò)你這種都不符合的情況。參考nginx配置location總結(jié)及rewrite規(guī)則寫法
相關(guān)文章:
1. 數(shù)組按鍵值封裝!2. java - web項(xiàng)目中,用戶登陸信息存儲(chǔ)在session中好 還是cookie中好,取決于什么?3. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問(wèn)題4. mysql - 大部分?jǐn)?shù)據(jù)沒(méi)有行溢出的text字段是否需要拆表5. mac mysql 5.7.9 編碼修改無(wú)效6. mysql 新增用戶 主機(jī)名設(shè)定 失敗7. 單擊登錄按鈕無(wú)反應(yīng)8. pdo - mysql 簡(jiǎn)單注入疑問(wèn)9. mysql - 查詢字段做了索引為什么不起效,還有查詢一個(gè)月的時(shí)候數(shù)據(jù)都是全部出來(lái)的,如果分拆3次的話就沒(méi)問(wèn)題,為什么呢。10. mysql儲(chǔ)存json錯(cuò)誤
