日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

location php,Nginx服务器中的location配置详解

發(fā)布時(shí)間:2025/3/15 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 location php,Nginx服务器中的location配置详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

語(yǔ)法location? [=|~|~*|^~] /uri/? {...}

規(guī)則= : 表示精確的URI匹配(有興趣的同學(xué)可以看一下url和uri的區(qū)別)

~: 表示區(qū)分大小寫(xiě)的正則匹配

~*:表示不區(qū)分大小寫(xiě)的正則匹配

!~ && !~*:表示區(qū)分大小寫(xiě)不匹配的正則和不區(qū)分大小寫(xiě)的不匹配的正則

/:通用匹配,任何請(qǐng)求都會(huì)匹配到

location匹配目標(biāo)location匹配測(cè)試只使用請(qǐng)求URI的部分,而不使用參數(shù)部分。(原因:參數(shù)的寫(xiě)法太多,無(wú)法精確匹配)

location匹配順序多個(gè)location配置的前提下,location的匹配順序(未驗(yàn)證,嘿嘿,google上搜的)

1.首先匹配=

2.其次匹配^~

3.再其次按照配置文件的順序進(jìn)行正則匹配、

4.最后是交給/進(jìn)行通用匹配

注意:

當(dāng)有匹配成功時(shí),立刻停止匹配,按照當(dāng)前匹配規(guī)則處理請(qǐng)求

演示實(shí)例

nginx 配置文件,自下到上分為三種層次分明的結(jié)構(gòu):

|??? http block??????? the protocol level

|??? server block??????? the server level

V??? location block??????? the requested URI

Nginx 允許用戶(hù)定義 Location block ,并指定一個(gè)匹配模式(pattern)匹配特定的 URI。除了簡(jiǎn)單的字符串(比如文件系統(tǒng)路徑),還允許使用更為復(fù)雜的匹配模式(pattern)。

Location block 的基本語(yǔ)法形式是:

location [=|~|~*|^~|@] pattern { ... }

[=|~|~*|^~|@] 被稱(chēng)作 location modifier ,這會(huì)定義 Nginx 如何去匹配其后的 pattern ,以及該 pattern 的最基本的屬性(簡(jiǎn)單字符串或正則表達(dá)式)。

關(guān)于 location modifier

1. =

這會(huì)完全匹配指定的 pattern ,且這里的 pattern 被限制成簡(jiǎn)單的字符串,也就是說(shuō)這里不能使用正則表達(dá)式。

Example:

server {

server_name jb51.net;

location = /abcd {

[…]

}

}

匹配情況:

http://jb51.net/abcd??????? # 正好完全匹配

http://jb51.net/ABCD??????? # 如果運(yùn)行 Nginx server 的系統(tǒng)本身對(duì)大小寫(xiě)不敏感,比如 Windows ,那么也匹配

http://jb51.net/abcd?param1?m2??? # 忽略查詢(xún)串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2

http://jb51.net/abcd/??? # 不匹配,因?yàn)槟┪泊嬖诜葱备?trailing slash),Nginx 不認(rèn)為這種情況是完全匹配

http://jb51.net/abcde??? # 不匹配,因?yàn)椴皇峭耆ヅ?/p>

2. (None)可以不寫(xiě) location modifier ,Nginx 仍然能去匹配 pattern 。這種情況下,匹配那些以指定的 patern 開(kāi)頭的 URI,注意這里的 URI 只能是普通字符串,不能使用正則表達(dá)式。

Example:

server {

server_name website.com;

location /abcd {

[…]

}

}

匹配情況:

http://jb51.net/abcd??????? # 正好完全匹配

http://jb51.net/ABCD??????? # 如果運(yùn)行 Nginx server 的系統(tǒng)本身對(duì)大小寫(xiě)不敏感,比如 Windows ,那么也匹配

http://jb51.net/abcd?param1?m2??? # 忽略查詢(xún)串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2

http://jb51.net/abcd/??? # 末尾存在反斜杠(trailing slash)也屬于匹配范圍內(nèi)

http://jb51.net/abcde??? # 仍然匹配,因?yàn)?URI 是以 pattern 開(kāi)頭的

3. ~這個(gè) location modifier 對(duì)大小寫(xiě)敏感,且 pattern 須是正則表達(dá)式

Example:

server {

server_name jb51.net;

location ~ ^/abcd$ {

[…]

}

}

匹配情況:

http://jb51.net/abcd??????? # 完全匹配

http://jb51.net/ABCD??????? # 不匹配,~ 對(duì)大小寫(xiě)是敏感的

http://jb51.net/abcd?param1?m2??? # 忽略查詢(xún)串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2

http://jb51.net/abcd/??? # 不匹配,因?yàn)槟┪泊嬖诜葱备?trailing slash),并不匹配正則表達(dá)式 ^/abcd$

http://jb51.net/abcde??? # 不匹配正則表達(dá)式 ^/abcd$

注意:對(duì)于一些對(duì)大小寫(xiě)不敏感的系統(tǒng),比如 Windows ,~ 和 ~* 都是不起作用的,這主要是操作系統(tǒng)的原因。

4. ~*與 ~ 類(lèi)似,但這個(gè) location modifier 不區(qū)分大小寫(xiě),pattern 須是正則表達(dá)式

Example:

server {

server_name website.com;

location ~* ^/abcd$ {

[…]

}

}

匹配情況:

http://jb51.net/abcd??????? # 完全匹配

http://jb51.net/ABCD??????? # 匹配,這就是它不區(qū)分大小寫(xiě)的特性

http://jb51.net/abcd?param1?m2??? # 忽略查詢(xún)串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2

http://jb51.net/abcd/??? # 不匹配,因?yàn)槟┪泊嬖诜葱备?trailing slash),并不匹配正則表達(dá)式 ^/abcd$

http://jb51.net/abcde??? # 不匹配正則表達(dá)式 ^/abcd$

5. ^~匹配情況類(lèi)似 2. (None) 的情況,以指定匹配模式開(kāi)頭的 URI 被匹配,不同的是,一旦匹配成功,那么 Nginx 就停止去尋找其他的 Location 塊進(jìn)行匹配了(與 Location 匹配順序有關(guān))

6. @用于定義一個(gè) Location 塊,且該塊不能被外部 Client 所訪問(wèn),只能被 Nginx 內(nèi)部配置指令所訪問(wèn),比如 try_files or error_page

演示實(shí)例

產(chǎn)生的效果如下:

訪問(wèn)根目錄/,匹配到location /

訪問(wèn)除hello.php之外的其它php程序,匹配到location ~ \.php$,并且用php5-fpm去運(yùn)行

訪問(wèn)hello.php,匹配到location = /hello.php,訪問(wèn)被重定向到好聯(lián)系官網(wǎng)

總結(jié)

以上是生活随笔為你收集整理的location php,Nginx服务器中的location配置详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。