主頁(yè) > 知識(shí)庫(kù) > Nginx Rewrite使用場(chǎng)景及配置方法解析

Nginx Rewrite使用場(chǎng)景及配置方法解析

熱門標(biāo)簽:鸚鵡螺號(hào)航海地圖標(biāo)注時(shí)間 信貸電銷機(jī)器人系統(tǒng) 比較穩(wěn)定的外呼系統(tǒng) 400 電話 申請(qǐng)費(fèi)用 山東電信外呼系統(tǒng)靠譜嗎 長(zhǎng)沙回?fù)芡夂粝到y(tǒng) ai電話機(jī)器人營(yíng)銷 云南云電銷機(jī)器人招商 江蘇自動(dòng)外呼系統(tǒng)一般多少錢

Nginx Rewrite使用場(chǎng)景

1.URL地址跳轉(zhuǎn),例如用戶訪問(wèn)pm.com將其跳轉(zhuǎn)到baidu.com或者當(dāng)用戶通過(guò)http的方式訪問(wèn)時(shí),將其跳轉(zhuǎn)至https的方式訪問(wèn)。

2.URL偽靜態(tài),將動(dòng)態(tài)頁(yè)面顯示為靜態(tài)頁(yè)面方式的一種技術(shù),減少動(dòng)態(tài)URL地址對(duì)外暴露過(guò)多的參數(shù),提升更高的安全性。

3.搜索引擎SEO優(yōu)化依賴于URL路徑,以便支持搜索引擎錄入

4.可以調(diào)整用戶瀏覽的URL,看起來(lái)更規(guī)范,合乎開(kāi)發(fā)及產(chǎn)品人員的需求。

配置語(yǔ)法

rewrite regex replacement [flag];

4中flag

last 停止處理后續(xù)rewrite指令集,跳出location作用域,并開(kāi)始搜索與更改后的URI相匹配的location,URL地址不變

break 停止處理后續(xù)rewrite指令集,不會(huì)跳出location作用域,不再進(jìn)行重新查找,終止匹配,URL地址不變

redirect 返回302臨時(shí)重定向,瀏覽器地址欄會(huì)顯示跳轉(zhuǎn)后的URL地址,爬蟲(chóng)不會(huì)更新自己的URL數(shù)據(jù)庫(kù)

permanent 返回301永久重定向,瀏覽器地址欄會(huì)顯示跳轉(zhuǎn)后的URL地址,爬蟲(chóng)會(huì)更新自己的URL數(shù)據(jù)庫(kù)

注:使用last和break時(shí)瀏覽器中的地址不會(huì)改變,使用redirect和permanent則會(huì)改變

舉例說(shuō)明:

location /abc/ {
  rewrite ^/abc/(.*) /whsir/$1 break;
  return 401;
}
location /opq/ {
  rewrite ^/opq/(.*) /whsir/$1 last;
  return 402;
}
location /whsir/ {
  return 403;
}

輸入abc后,如果能匹配到whsir的內(nèi)容,則返回200,否則返回404

輸入opq后,如果能匹配到whsir的內(nèi)容,則返回403,否則返回404

last和break只返回一個(gè)狀態(tài)碼即成功或失敗,redirect和permanent會(huì)先返回302或301,在返回成功或失敗

常用的Nginx全局變量:

例:http://www.pm.com:99/aa/bb/test.php

$host        www.pm.com

$server_port     99

$request_uri     /aa/bb/test.php

$document_root   /pm_code

$request_filename  /pm_code/aa/bb/test.php

案例1:外部跳轉(zhuǎn)

打開(kāi)lb01虛擬機(jī),先將之前的自定義配置文件關(guān)閉,新建/etc/nginx/conf.d/rewrite.conf

注:^/意思為以根(這里根目錄為/pm_code,對(duì)應(yīng)域名為www.pm.com)開(kāi)頭的url都會(huì)重定向到百度。

修改/etc/nginx/nginx.conf文件

將錯(cuò)誤日志級(jí)別修改為notice使其能記錄到重定向信息(debug, info, notice, warn, error, crit越靠前記錄的信息越多)

在http模塊中添加一行

rewrite_log on;(打開(kāi)rewrite日志記錄)

測(cè)試

在瀏覽器地址欄中輸入www.pm.com(在hosts中已配置好),會(huì)重定向到百度首頁(yè)

案例2:內(nèi)部跳轉(zhuǎn)

更改/etc/nginx/conf.d/rewrite.conf內(nèi)容

在/pm_code中創(chuàng)建文件2.html(內(nèi)容222),在瀏覽器中輸入www.pm.com/1.html

在錯(cuò)誤日志中查看記錄

使用return

在上述方法中,瀏覽器地址欄中顯示的是1.html,而網(wǎng)頁(yè)內(nèi)容是2.html的內(nèi)容,如果想要地址欄中也顯示2.html,將location中的內(nèi)容更改為 return 302 /2.html; 或者 rewrite .* /2.html redirect;

使用正則

例:將www.pm.com/2020/* 重定向到 www.pm.com/2019/*

括號(hào)代表一個(gè)整體,$1代表前面第一個(gè)括號(hào)內(nèi)的內(nèi)容

將http跳轉(zhuǎn)到https

注:nginx 1.14版本后可以不用寫(xiě)ssl on了,listen那里寫(xiě)成listen 443 ssl;

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:澳門 衡陽(yáng) 嘉興 運(yùn)城 亳州 拉薩 烏海 齊齊哈爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx Rewrite使用場(chǎng)景及配置方法解析》,本文關(guān)鍵詞  Nginx,Rewrite,使用,場(chǎng)景,及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx Rewrite使用場(chǎng)景及配置方法解析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Nginx Rewrite使用場(chǎng)景及配置方法解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章