文章詳情頁
不解的nginx rewrite規(guī)則
瀏覽:94日期:2024-06-17 10:22:07
問題描述
上圖是我根據(jù)nginx最長匹配原則 配置的簡單范例, 目的是訪問 / 的時候全部拒絕, 但訪問 /hello 的時候能進行正常跳轉(zhuǎn). 但是返現(xiàn), 訪問 /hello 依舊403, 但是重寫日志里面記錄 nginx確實匹配到了我的規(guī)則, 為何還是返回給我403呢? 求大神解惑, 不甚感激!
問題解答
回答1:location / 可以匹配到所有的請求
你可以如下修改
location = / { deny all; }
語法規(guī)則: location [=|~|~*|^~] /uri/ { … }= 開頭表示精確匹配^~ 開頭表示uri以某個常規(guī)字符串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規(guī)則^~ /static/ /aa匹配到(注意是空格)。~ 開頭表示區(qū)分大小寫的正則匹配~* 開頭表示不區(qū)分大小寫的正則匹配!~和!~*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配 的正則/ 通用匹配,任何請求都會匹配到
回答2:因為rewrite之后的 /test00 匹配到了 location /
你應(yīng)該加一個 location ~ ^/test00 并開放訪問權(quán)限
相關(guān)文章:
1. javascript - 如何用最快的速度C#或Python開發(fā)一個桌面應(yīng)用程序來訪問我的網(wǎng)站?2. java - springMVC配置的controller無法返回jsp文件3. css - 如何選擇字體?4. 前端 - 使用vue2服務(wù)端渲染的時候,如何在服務(wù)端請求數(shù)據(jù),然后給vue渲染5. mysql 存儲過程 和 函數(shù)有什么用??6. python - 關(guān)于beautifulsoup獲取文檔內(nèi)容7. android-studio - Android Nougat requires Java 1.8 or later8. html5 - video ios不能播放怎么辦?9. javascript - weex和node,js到底是怎樣一個關(guān)系呢?10. mysql - jdbc的問題
排行榜

熱門標(biāo)簽