最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx配置中if判斷的使用

 更新時間:2024年10月24日 09:55:08   作者:0945v1  
在Nginx配置中,有時rewrite規(guī)則無法滿足復雜邏輯判斷需求,這時需要使用if語法,if可以根據(jù)文件是否存在、路徑特定條件等進行判斷,本文就來介紹一下if判斷的使用

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

if語法

if (表達式) {
    ...
}

表達式語法:

  • 當表達式只是一個變量時,如果值為空或任何以0開頭的字符串都會當做false
  • 直接比較變量和內容時,使用=或!=
  • -f和!-f用來判斷是否存在文件
  • -d和!-d用來判斷是否存在目錄
  • -e和!-e用來判斷是否存在文件或目錄
  • -x和!-x用來判斷文件是否可執(zhí)行

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

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

舉例說明

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

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

2、如果host不是jouypub.com,則301到jouypub.com中

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

3、如果請求類型不是POST則返回405

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

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

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

5、在某種場景下可結合location規(guī)則來使用,如:

# 訪問 /test.html 時
location = /test.html {
    # 設置默認值為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

到此這篇關于Nginx配置中if判斷的使用的文章就介紹到這了,更多相關Nginx if判斷內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Nginx四層負載均衡的配置指南

    Nginx四層負載均衡的配置指南

    當一臺服務器的單位時間內的訪問量越大時,服務器壓力就越大,大到超過自身承受能力時,服務器就會崩潰.為了避免服務器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔服務器壓力,這篇文章主要給大家介紹了關于Nginx四層負載均衡配置的相關資料,需要的朋友可以參考下
    2021-06-06
  • Nginx同端口部署多個vue以及unapp項目

    Nginx同端口部署多個vue以及unapp項目

    文章詳細介紹了如何在同一端口下部署PC端和App端項目,包括Nginx配置、前端打包配置、manifest.json配置以及針對Vue3+vite項目的特殊配置,通過示例項目A和項目B,展示了如何修改Vite配置文件、調整路由配置,并通過Nginx進行關鍵配置
    2026-01-01
  • Nginx使用Lua模塊實現(xiàn)WAF的原理解析

    Nginx使用Lua模塊實現(xiàn)WAF的原理解析

    waf是通過執(zhí)行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品,本文重點給大家介紹Nginx使用Lua模塊實現(xiàn)WAF的原理,需要的朋友參考下吧
    2021-09-09
  • Nginx啟動、重啟、關閉/Nginx開啟啟動配置實現(xiàn)方式

    Nginx啟動、重啟、關閉/Nginx開啟啟動配置實現(xiàn)方式

    這篇文章介紹了如何手動啟動、重啟、關閉Nginx服務,以及如何通過配置文件和系統(tǒng)服務來管理Nginx,同時,還介紹了如何檢查Nginx是否開機自啟動,并提供了查看Nginx狀態(tài)、啟動、停止和重啟服務的命令
    2026-03-03
  • 教你快速構建一個基于nginx的web集群項目

    教你快速構建一個基于nginx的web集群項目

    本文教你快速構建一個基于nginx的4/7層負載均衡的web集群項目,項目步驟本文給大家介紹介紹,對nginx web集群項目感興趣的朋友一起看看吧
    2021-11-11
  • windows7下安裝PHP+nginx的方法

    windows7下安裝PHP+nginx的方法

    這篇文章主要介紹了windows7下安裝PHP+nginx的方法,較為詳細的分析了Windows7環(huán)境下安裝php與nginx服務器環(huán)境的具體步驟與相關設置技巧,需要的朋友可以參考下
    2016-05-05
  • Nginx更換ssl證書不生效的問題解決

    Nginx更換ssl證書不生效的問題解決

    本文主要介紹了Nginx配置中更換SSL證書后,新證書不生效的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Nginx請求訪問控制實現(xiàn)方案

    Nginx請求訪問控制實現(xiàn)方案

    Nginx并不直接實現(xiàn)漏桶算法或令牌桶算法,但這些算法在控制網(wǎng)絡流量和請求速率方面非常有用,這些算法通常在網(wǎng)絡編程、API服務、負載均衡等領域中使用,以確保系統(tǒng)的穩(wěn)定性和性能,這篇文章給大家介紹Nginx請求訪問控制實現(xiàn)方案,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Centos 6.5 64位中Nginx詳細安裝部署教程

    Centos 6.5 64位中Nginx詳細安裝部署教程

    Nginx是一個web服務器也可以用來做負載均衡及反向代理使用,目前使用最多的就是負載均衡,具體簡介我就不介紹了百度一下有很多,下面直接進入安裝步驟,需要的朋友可以參考下
    2017-08-08
  • Nginx+SSL+Node.js運行環(huán)境配置教程

    Nginx+SSL+Node.js運行環(huán)境配置教程

    這篇文章主要介紹了Nginx+SSL+Node.js運行環(huán)境配置教程,本文用反向代理的方式代理基于Node.js的Web應用,需要的朋友可以參考下
    2014-09-09

最新評論

宝丰县| 余江县| 万源市| 江孜县| 兴仁县| 工布江达县| 会东县| 白玉县| 襄樊市| 平乐县| 连城县| 临海市| 澜沧| 天峻县| 石首市| 上饶市| 邳州市| 兴安盟| 左贡县| 孝昌县| 苏州市| 福州市| 南召县| 郴州市| 克什克腾旗| 厦门市| 湘潭市| 广丰县| 临海市| 阿巴嘎旗| 鄂托克前旗| 太康县| 荆门市| 黑河市| 兖州市| 安陆市| 农安县| 利辛县| 蕉岭县| 菏泽市| 南溪县|