成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

nginx全局變量及rewrite實戰(zhàn)-創(chuàng)新互聯(lián)

Rwrite相關全局變量
coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/variable.md
Rwrite實戰(zhàn)
coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/example.md

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,灞橋企業(yè)網(wǎng)站建設,灞橋品牌網(wǎng)站建設,網(wǎng)站定制,灞橋網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,灞橋網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

nginx 常用全局變量
變量 說明
$args 請求中的參數(shù),如www.123.com/1.php?a=1&b=2的$args就是a=1&b=2
$content_length HTTP請求信息里的"Content-Length"
$conten_type HTTP請求信息里的"Content-Type"
$document_root nginx虛擬主機配置文件中的root參數(shù)對應的值
$document_uri 當前請求中不包含指令的URI,如www.123.com/1.php?a=1&b=2的$document_uri就是1.php,不包含后面的參數(shù) #常用
$host 主機頭,也就是域名 #常用
$http_user_agent 客戶端的詳細信息,也就是瀏覽器的標識,用curl -A可以指定 #常用
$http_cookie 客戶端的cookie信息
$limit_rate 如果nginx服務器使用limit_rate配置了顯示網(wǎng)絡速率,則會顯示,如果沒有設置, 則顯示0
$remote_addr 客戶端的公網(wǎng)ip
$remote_port 客戶端的port
$remote_user 如果nginx有配置認證,該變量代表客戶端認證的用戶名
$request_body_file 做反向代理時發(fā)給后端服務器的本地資源的名稱
$request_method 請求資源的方式,GET/PUT/DELETE等
$request_filename 當前請求的資源文件的路徑名稱,相當于是$document_root/$document_uri的組合
$request_uri 請求的鏈接,包括$document_uri和$args #常用
$scheme 請求的協(xié)議,如ftp,http,https
$server_protocol 客戶端請求資源使用的協(xié)議的版本,如HTTP/1.0,HTTP/1.1,HTTP/2.0等
$server_addr 服務器IP地址
$server_name 服務器的主機名
$server_port 服務器的端口號
$uri 和$document_uri相同 #常用
$http_referer 客戶端請求時的referer,通俗講就是該請求是通過哪個鏈接跳過來的,用curl -e可以指定 #常用

Rewrite實戰(zhàn)

本部分內(nèi)容為nginx生產(chǎn)環(huán)境中使用的場景示例。

域名跳轉(域名重定向)

示例1(不帶條件的):
server{
listen 80;
server_name www.aminglinux.com;
rewrite /(.*) http://www.aming.com/$1 permanent;
.......

}

示例2(帶條件的):
server{
listen 80;
server_name www.aminglinux.com aminglinux.com;
if ($host != 'www.aminglinux.com')
{
rewrite /(.*) http://www.aminglinux.com/$1 permanent;
}
.......

}
示例3(http跳轉到https):
server{
listen 80;
server_name www.aminglinux.com;
rewrite /(.*) https://www.aminglinux.com/$1 permanent;
.......

}
示例4(域名訪問二級目錄)
server{
listen 80;
server_name bbs.aminglinux.com;
rewrite /(.*) http://www.aminglinux.com/bbs/$1 last;
.......

}
示例5(靜態(tài)請求分離)
server{
listen 80;
server_name www.aminglinux.com;
location ~ ^.+.(jpg|jpeg|gif|css|png|js)$
{
rewrite /(.
) http://img.aminglinux.com/$1 permanent;
}

.......

}
或者:
server{
listen 80;
server_name www.aminglinux.com;
if ( $uri ~ 'jpg|jpeg|gif|css|png|js$')
{
rewrite /(.
) http://img.aminglinux.com/$1 permanent;
}

.......

}

防盜鏈

示例6
server{
listen 80;
server_name www.aminglinux.com;
location ~ ^.+.(jpg|jpeg|gif|css|png|js|rar|zip|flv)$
{
#白名單 空 blocked 域名
valid_referers none blocked server_names
.aminglinux.com aminglinux.com .aming.com aming.com;
if ($invalid_referer) #黑名單
{
rewrite /(.
) http://img.aminglinux.com/images/forbidden.png;
}
}

.......

}
說明:這里是通配,跟正則里面的不是一個意思,none指的是referer不存在的情況(curl -e 測試),
blocked指的是referer頭部的值被防火墻或者代理服務器刪除或者偽裝的情況,
該情況下,referer頭部的值不以http://或者https://開頭(curl -e 后面跟的referer不以http://或者https://開頭)。
或者:
location ~ ^.+.(jpg|jpeg|gif|css|png|js|rar|zip|flv)$
{
valid_referers none blocked server_names
.aminglinux.com *.aming.com aminglinux.com aming.com;
if ($invalid_referer)
{
return 403;
}
}

偽靜態(tài)

示例7(discuz偽靜態(tài)):
location / {
rewrite ^([^.])/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^.]
)/forum-(\w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^.])/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^.]
)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^.])/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^.]
)/(fid|tid)-([0-9]+).html$ $1/index.php?action=$2&value=$3 last;
}

rewrite多個條件的并且

示例8:
location /{
set $rule 0; #定義一個變量
if ($document_uri !~ '^/abc')
{
set $rule "${rule}1"; # 01
}
if ($http_user_agent ~ 'ie6|firefox')
{
set $rule "${rule}2"; #02
}
if ($rule = "012")
{
rewrite /(.
) /abc/$1 redirect;
}
}

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:nginx全局變量及rewrite實戰(zhàn)-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article0/dcggoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、關鍵詞優(yōu)化App開發(fā)、網(wǎng)站維護、服務器托管外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
博湖县| 朝阳市| 阿城市| 上杭县| 平山县| 阜新市| 德兴市| 松溪县| 周宁县| 阜新市| 澳门| 项城市| 宿州市| 靖江市| 综艺| 张家川| 吴川市| 长岭县| 大关县| 镇康县| 宜兴市| 自治县| 南召县| 临夏市| 东乌珠穆沁旗| 遂川县| 教育| 密山市| 洛宁县| 比如县| 潼关县| 新竹市| 原平市| 集安市| 桦甸市| 武乡县| 梅河口市| 湖南省| 麻城市| 连州市| 龙海市|