文章詳情頁
不解的nginx rewrite規則
瀏覽:131日期:2024-06-17 10:22:07
問題描述
上圖是我根據nginx最長匹配原則 配置的簡單范例, 目的是訪問 / 的時候全部拒絕, 但訪問 /hello 的時候能進行正常跳轉. 但是返現, 訪問 /hello 依舊403, 但是重寫日志里面記錄 nginx確實匹配到了我的規則, 為何還是返回給我403呢? 求大神解惑, 不甚感激!
問題解答
回答1:location / 可以匹配到所有的請求
你可以如下修改
location = / { deny all; }
語法規則: location [=|~|~*|^~] /uri/ { … }= 開頭表示精確匹配^~ 開頭表示uri以某個常規字符串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。~ 開頭表示區分大小寫的正則匹配~* 開頭表示不區分大小寫的正則匹配!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則/ 通用匹配,任何請求都會匹配到
回答2:因為rewrite之后的 /test00 匹配到了 location /
你應該加一個 location ~ ^/test00 并開放訪問權限
相關文章:
1. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...3. javascript - 圖片能在網站顯示,但控制臺仍舊報錯403 (Forbidden)4. MySQL客戶端吃掉了SQL注解?5. 網頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決6. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?7. objective-c - iOS怎么實現像QQ或者微信的實時推送8. php自學從哪里開始?9. 求大神幫我看看是哪里寫錯了 感謝細心解答10. phpstady在win10上運行
排行榜
