c++ 检查缓冲大小与记录大小是否匹配_后端程序员不得不会的 Nginx 转发匹配规则...
一、正則表達式匹配
二、文件及目錄匹配
三.rewrite指令的最后一項參數為flag標記,flag標記有
使用 last 和 break 實現URI重寫,瀏覽器地址欄不變。
而且兩者有細微差別,使用alias指令必須用 last標記;使用proxy_pass指令時,需要使用break標記。Last標記在本條rewrite規則執行完畢后,會對其所在server{……}標簽重新發起請求,而break標記則在本條規則匹配完成后,終止匹配。例如:如果我們將類似URL/photo/123456 重定向到 /path/to/photo/12/1234/123456.pn
四、NginxRewrite規則相關指令1、break指令
使用環境:server、location、if
該指令的作用是完成當前的規則集,不再處理rewrite指令。2、if 指令
使用環境:server、location
該指令用于檢查一個條件是否符合,如果條件符合,則執行大括號內的語句。If指令不支持嵌套,不支持多個條件&&和||處理。3、return指令
語法:returncode
使用環境:server、location、if
該指令用于結束規則的執行并返回狀態碼給客戶端。示例:如果訪問的URL以".sh"或".bash"結尾,則返回403狀態碼
4、rewrite 指令
語法:rewriteregex replacement flag
使用環境:server、location、if
該指令根據表達式來重定向URI,或者修改字符串。指令根據配置文件中的順序來執行。注意重寫表達式只對相對路徑有效。如果你想配對主機名,你應該使用if語句,示例如下:
5、Set指令
語法:setvariable value ;
默認值:none
使用環境:server、location、if
該指令用于定義一個變量,并給變量賦值。變量的值可以為文本、變量以及文本變量的聯合。
6、Uninitialized_variable_warn指令
語法:uninitialized_variable_warnon|off
使用環境:http、server、location、if
該指令用于開啟和關閉未初始化變量的警告信息,默認值為開啟。
五.Nginx的Rewrite規則編寫實例1、當訪問的文件和目錄不存在時,重定向到某個html文件
2、目錄對換 /123456/xxxx ====> /xxxx?id=123456
3、如果客戶端使用的是IE瀏覽器,則重定向到/ie目錄下
4、禁止訪問多個目錄
5、禁止訪問以/data開頭的文件
6、禁止訪問以.sh,.flv,.mp3為文件后綴名的文件
7、設置某些類型文件的瀏覽器緩存時間
8、給favicon.ico和robots.txt設置過期時間
這里為favicon.ico為99天,robots.txt為7天并不記錄404錯誤日志
9、設定某個文件的過期時間;這里為600秒,并不記錄訪問日志
10、文件反盜鏈并設置過期時間
這里的return412 為自定義的http狀態碼,默認為403,方便找出正確的盜鏈的請求
11、只允許固定ip訪問網站,并加上密碼
12、將多級目錄下的文件轉成一個文件,增強seo效果
13、文件和目錄不存在的時候重定向:
14、將根目錄下某個文件夾指向2級目錄
15、域名跳轉
16、多域名轉向
六、nginx全局變量
七、Apache和Nginx規則的對應關系
例如:允許指定的域名訪問本站,其他的域名一律轉向www.linuxidc.net
Nginx過濾示例:
總結
后端開發是一個最接近全棧的一個職業,前端不夠用后端頂上寫頁面JS,沒有運維不要緊后端來維護服務器,總之一個好的后端就是能面面俱到。
總結
以上是生活随笔為你收集整理的c++ 检查缓冲大小与记录大小是否匹配_后端程序员不得不会的 Nginx 转发匹配规则...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python字母后移5位加密_LabVi
- 下一篇: java转义字符之换行字符(Java中@