中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Nginx基礎(chǔ)——Rewrite規(guī)則

技術(shù)文章第一時(shí)間送達(dá)!

源碼精品專欄

 

Rewrite規(guī)則學(xué)習(xí)記錄

rewrite是nginx一個(gè)特別重要的指令,該指令可以使用正則表達(dá)式改寫URI。可以指定一個(gè)或多個(gè)rewrite指令,按順序匹配。

正則匹配規(guī)則

1~  區(qū)分大小寫匹配
2~* 不區(qū)分大小寫匹配
3!~ 和 !~* 區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配

文件及目錄匹配

1-f和!-f 判斷是否存在文件
2-d和!-d 判斷是否存在目錄
3-e和!-e 判斷是否存在文件或目錄
4-x和!-x 判斷文件是否可執(zhí)行

rewrite基本語法

1set
2if
3return
4break
5rewrite

break指令

1使用范圍:server,location,if;
2中斷當(dāng)前相同作用域的其他nginx配置。

if指令

1使用范圍:server,location
2檢查一個(gè)條件是否符合。If指令不支持嵌套,不支持多個(gè)條件&&和||處理。

return指令

1格式:return code ;
2使用范圍:server,location,if;
3結(jié)束規(guī)則的執(zhí)行并返回狀態(tài)碼給客戶端。

set指令

1使用環(huán)境:server,location,if
2定義一個(gè)變量,并給變量賦值。變量的值可以為文本、變量或者變量的組合。
3set $var 'hello world'

rewrite指令格式

1rewrite regex replacement [flag]
2
3flag標(biāo)志位有四種:
4break:停止rewrite檢測,也就是說當(dāng)含有break flag的rewrite語句被執(zhí)行時(shí),該語句就是rewrite的最終結(jié)果。 
5last:停止rewrite檢測,但是跟break有本質(zhì)的不同,last的語句不一定是最終結(jié)果。
6redirect:返回302臨時(shí)重定向,一般用于重定向到完整的URL(包含http:部分) 
7permanent:返回301永久重定向,一般用于重定向到完整的URL(包含http:部分)

應(yīng)用實(shí)例(摘自網(wǎng)絡(luò))

當(dāng)訪問的文件和目錄不存在時(shí),重定向到某個(gè)php文件

1if( !-e $request_filename )
2{
3    rewrite ^/(.*)$ index.php last;
4}

目錄對換 /123456/xxxx ====> /xxxx?id=123456

1rewrite ^/(\d )/(. )/  /$2?id=$1 last;

如果客戶端使用的是IE瀏覽器,則重定向到/ie目錄下

1if$http_user_agent ~ MSIE)
2{
3    rewrite ^(.*)$ /ie/$1 break;
4}
1

禁止訪問以/data開頭的文件

1location ~ ^/data
2{
3    deny all;
4}

禁止訪問以.sh,.flv,.mp3為文件后綴名的文件

1location ~ .*\.(sh|flv|mp3)$
2{
3    return 403;
4}

設(shè)置某些類型文件的瀏覽器緩存時(shí)間

1location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
2{
3    expires 30d;
4}

文件反盜鏈并設(shè)置過期時(shí)間

 1location ~*^. \.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ 
2{
3    valid_referers none blocked *.linuxidc.com*.linuxidc.net localhost 208.97.167.194;
4    if ($invalid_referer) {
5        rewrite ^/ http://img.linuxidc.net/leech.gif;
6        return 412;
7        break;
8    }
9    access_log  off;
10    root /opt/lampp/htdocs/web;
11    expires 3d;
12    break;
13}

將多級目錄下的文件轉(zhuǎn)成一個(gè)文件,增強(qiáng)seo效果

1/job-123-456-789.html 指向/job/123/456/789.html
2
3rewrite^/job-([0-9] )-([0-9] )-([0-9] )\.html$ /job/$1/$2/jobshow_$3.html last;

域名跳轉(zhuǎn)

1server
2{
3    listen 80;
4    server_name jump.linuxidc.com;
5    index index.html index.htm index.php;
6    root /opt/lampp/htdocs/www;
7    rewrite ^/ http://www.linuxidc.com/;
8    access_log off;
9}

多域名轉(zhuǎn)向

1server_name www.linuxidc.comwww.linuxidc.net;
2index index.html index.htm index.php;
3root  /opt/lampp/htdocs;
4if ($host ~ 'linuxidc\.net') {
5    rewrite ^(.*) http://www.linuxidc.com$1permanent;
6}

附錄 —— nginx全局變量

 1arg_PARAMETER #這個(gè)變量包含GET請求中,如果有變量PARAMETER時(shí)的值。
2args #這個(gè)變量等于請求行中(GET請求)的參數(shù),如:foo=123&bar=blahblah;
3binary_remote_addr #二進(jìn)制的客戶地址。
4body_bytes_sent #響應(yīng)時(shí)送出的body字節(jié)數(shù)數(shù)量。即使連接中斷,這個(gè)數(shù)據(jù)也是精確的。
5content_length #請求頭中的Content-length字段。
6content_type #請求頭中的Content-Type字段。
7cookie_COOKIE #cookie COOKIE變量的值
8document_root #當(dāng)前請求在root指令中指定的值。
9document_uri #與uri相同。
10host #請求主機(jī)頭字段,否則為服務(wù)器名稱。
11hostname #Set to themachine’s hostname as returned by gethostname
12http_HEADER
13is_args #如果有args參數(shù),這個(gè)變量等于”?”,否則等于”',空值。
14http_user_agent #客戶端agent信息
15http_cookie #客戶端cookie信息
16limit_rate #這個(gè)變量可以限制連接速率。
17query_string #與args相同。
18request_body_file #客戶端請求主體信息的臨時(shí)文件名。
19request_method #客戶端請求的動作,通常為GET或POST。
20remote_addr #客戶端的IP地址。
21remote_port #客戶端的端口。
22remote_user #已經(jīng)經(jīng)過Auth Basic Module驗(yàn)證的用戶名。
23request_completion #如果請求結(jié)束,設(shè)置為OK。 當(dāng)請求未結(jié)束或如果該請求不是請求鏈串的最后一個(gè)時(shí),為空(Empty)。
24request_filename #當(dāng)前請求的文件路徑,由root或alias指令與URI請求生成。
25request_uri #包含請求參數(shù)的原始URI,不包含主機(jī)名,如:”/foo/bar.php?arg=baz”。不能修改。
26scheme #HTTP方法(如http,https)。
27server_protocol #請求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1。
28server_addr #服務(wù)器地址,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值。
29server_name #服務(wù)器名稱。
30server_port #請求到達(dá)服務(wù)器的端口號。





如果你對 Dubbo 感興趣,歡迎加入我的知識星球一起交流。


知識星球



目前在知識星球(https://t.zsxq.com/2VbiaEu)更新了如下 Dubbo 源碼解析如下:

01. 調(diào)試環(huán)境搭建
02. 項(xiàng)目結(jié)構(gòu)一覽
03. 配置 Configuration
04. 核心流程一覽

05. 拓展機(jī)制 SPI

06. 線程池

07. 服務(wù)暴露 Export

08. 服務(wù)引用 Refer

09. 注冊中心 Registry

10. 動態(tài)編譯 Compile

11. 動態(tài)代理 Proxy

12. 服務(wù)調(diào)用 Invoke

13. 調(diào)用特性 

14. 過濾器 Filter

15. NIO 服務(wù)器

16. P2P 服務(wù)器

17. HTTP 服務(wù)器

18. 序列化 Serialization

19. 集群容錯(cuò) Cluster

20. 優(yōu)雅停機(jī)

21. 日志適配

22. 狀態(tài)檢查

23. 監(jiān)控中心 Monitor

24. 管理中心 Admin

25. 運(yùn)維命令 QOS

26. 鏈路追蹤 Tracing

...
一共 60 篇

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx虛擬主機(jī)根據(jù)不同的域名使用不同的root路徑
詳解Nginx中的重定向功能
16、Nginx-重寫與重定向
Nginx反向代理、負(fù)載均衡、頁面緩存、URL重寫及讀寫分離詳解(7)
nginx rewrite arg 帶問號的地址轉(zhuǎn)發(fā)參數(shù)處理?Nginx重定向的參數(shù)問題
nginx配置基礎(chǔ)之rewrite
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服