国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx配置中的if判斷

dingda / 4766人閱讀

摘要:請(qǐng)求頭中的字段。當(dāng)前請(qǐng)求在指令中指定的值。客戶端信息客戶端信息這個(gè)變量可以限制連接速率。已經(jīng)經(jīng)過(guò)驗(yàn)證的用戶名。請(qǐng)求使用的協(xié)議,通常是或。請(qǐng)求到達(dá)服務(wù)器的端口號(hào)。包含請(qǐng)求參數(shù)的原始,不包含主機(jī)名,如。

當(dāng)rewrite的重寫規(guī)則滿足不了需求時(shí),比如需要判斷當(dāng)文件不存在時(shí)、當(dāng)路徑包含xx時(shí)等條件,則需要用到if

if語(yǔ)法
if (表達(dá)式) {
    ...
}

表達(dá)式語(yǔ)法:

當(dāng)表達(dá)式只是一個(gè)變量時(shí),如果值為空或任何以0開(kāi)頭的字符串都會(huì)當(dāng)做false

直接比較變量和內(nèi)容時(shí),使用=或!=

-f和!-f用來(lái)判斷是否存在文件

-d和!-d用來(lái)判斷是否存在目錄

-e和!-e用來(lái)判斷是否存在文件或目錄

-x和!-x用來(lái)判斷文件是否可執(zhí)行

為了配置if的條件判斷,這里需要用到nginx中內(nèi)置的全局變量

$args               這個(gè)變量等于請(qǐng)求行中的參數(shù),同$query_string
$content_length     請(qǐng)求頭中的Content-length字段。
$content_type       請(qǐng)求頭中的Content-Type字段。
$document_root      當(dāng)前請(qǐng)求在root指令中指定的值。
$host               請(qǐng)求主機(jī)頭字段,否則為服務(wù)器名稱。
$http_user_agent    客戶端agent信息
$http_cookie        客戶端cookie信息
$limit_rate         這個(gè)變量可以限制連接速率。
$request_method     客戶端請(qǐng)求的動(dòng)作,通常為GET或POST。
$remote_addr        客戶端的IP地址。
$remote_port        客戶端的端口。
$remote_user        已經(jīng)經(jīng)過(guò)Auth Basic Module驗(yàn)證的用戶名。
$request_filename   當(dāng)前請(qǐng)求的文件路徑,由root或alias指令與URI請(qǐng)求生成。
$scheme             HTTP方法(如http,https)。
$server_protocol    請(qǐng)求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1。
$server_addr        服務(wù)器地址,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值。
$server_name        服務(wù)器名稱。
$server_port        請(qǐng)求到達(dá)服務(wù)器的端口號(hào)。
$request_uri        包含請(qǐng)求參數(shù)的原始URI,不包含主機(jī)名,如:”/foo/bar.php?arg=baz”。
$uri                不帶請(qǐng)求參數(shù)的當(dāng)前URI,$uri不包含主機(jī)名,如”/foo/bar.html”。
$document_uri       與$uri相同。
舉例說(shuō)明

1、如果文件不存在則返回400

if (!-f $request_filename) {
    return 400;
}

2、如果host不是jouypub.com,則301到j(luò)ouypub.com中

if ( $host != "jouypub.com" ){
    rewrite ^/(.*)$ https://jouypub.com/$1 permanent;
}

3、如果請(qǐng)求類型不是POST則返回405

if ($request_method = POST) {
    return 405;
}

4、如果參數(shù)中有a=1則301到指定域名

if ($args ~ a=1) {
    rewrite ^ http://example.com/ permanent;
}

5、在某種場(chǎng)景下可結(jié)合location規(guī)則來(lái)使用,如:

# 訪問(wèn) /test.html 時(shí)
location = /test.html {
    # 設(shè)置默認(rèn)值為xiaowu
    set $name xiaowu;
    # 如果參數(shù)中有 name=xx 則使用該值
    if ($args ~* name=(w+?)(&|$)) {
        set $name $1;
    }
    # 301
    rewrite ^ /$name.html permanent;
}

上面表示:
/test.html => /xiaowu.html
/test.html?name=ok => /ok.html?name=ok



歡迎訂閱「K叔區(qū)塊鏈」 - 專注于區(qū)塊鏈技術(shù)學(xué)習(xí)

博客地址:http://www.jouypub.com
簡(jiǎn)書主頁(yè):https://www.jianshu.com/u/756c9c8ae984
segmentfault主頁(yè):https://segmentfault.com/blog/jouypub
騰訊云主頁(yè):https://cloud.tencent.com/developer/column/72548

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/40533.html

相關(guān)文章

  • Nginx 配置根據(jù)請(qǐng)求IP末段進(jìn)行分流

    摘要:原文鏈接何曉東博客主要是參數(shù)中的判斷的配置跳轉(zhuǎn),分流能減輕服務(wù)器的負(fù)載和壓力,這種是一種非常常見(jiàn)的服務(wù)器部署架構(gòu)。本條規(guī)則匹配完成后,終止匹配,不再匹配后面的規(guī)則。返回永久重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的地址。 原文鏈接: 何曉東 博客 主要是 location 參數(shù)中的 if 判斷的配置跳轉(zhuǎn),分流能減輕服務(wù)器的負(fù)載和壓力,這種是一種非常常見(jiàn)的服務(wù)器部署架構(gòu)。 根據(jù) IP 最后一段的范...

    qingshanli1988 評(píng)論0 收藏0
  • nginx配置location總結(jié)及rewrite規(guī)則寫法

    摘要:語(yǔ)法如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過(guò)指令設(shè)置如果請(qǐng)求的文件名不存在,則反向代理到。 location正則寫法 一個(gè)示例: location = / { # 精確匹配 / ,主機(jī)名后面不能帶任何字符串 [ configuration A ] } location / { # 因?yàn)樗械牡刂范家?/ 開(kāi)...

    hiyang 評(píng)論0 收藏0
  • nginx運(yùn)維基礎(chǔ)(6)】Nginx的Rewrite語(yǔ)法詳解

    概述 重寫URL是非常有用的一個(gè)功能,因?yàn)樗梢宰屇闾岣咚阉饕骈喿x和索引你的網(wǎng)站的能力;而且在你改變了自己的網(wǎng)站結(jié)構(gòu)后,無(wú)需要求用戶修改他們的書簽,無(wú)需其他網(wǎng)站修改它們的友情鏈接;它還可以提高你的網(wǎng)站的安全性;而且通常會(huì)讓你的網(wǎng)站更加便于使用和更專業(yè)。 Nginx Rewrite規(guī)則相關(guān)指令 Nginx Rewrite規(guī)則相關(guān)指令有if、rewrite、set、return、break等,其中r...

    Yang_River 評(píng)論0 收藏0
  • Nginx

    摘要:主進(jìn)程不直接響應(yīng)瀏覽器,是管理子進(jìn)程使用。瀏覽器訪問(wèn)會(huì)到子進(jìn)程中響應(yīng)。日志需要備份,文件在被進(jìn)程所打開(kāi),不能使用命令。是設(shè)置變量使用,可以達(dá)到多條件判斷時(shí)做標(biāo)記使用。 nginx 簡(jiǎn)介 高性能WEB服務(wù)器 Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器.Nginx 是由Igor Sysoev為落實(shí)訪問(wèn)量第二...

    luck 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<