91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx URL重寫rewrite機制的案例分析

發布時間:2020-08-25 09:43:59 來源:億速云 閱讀:415 作者:小新 欄目:開發技術

這篇文章主要介紹了Nginx URL重寫rewrite機制的案例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

URL重寫有利于網站首選域的確定,對于同一資源頁面多條路徑的301重定向有助于URL權重的集中

Nginx URL重寫(rewrite)介紹

和apache等web服務軟件一樣,rewrite的組要功能是實現RUL地址的重定向。Nginx的rewrite功能需要PCRE軟件的支持,即通過perl兼容正則表達式語句進行規則匹配的。默認參數編譯nginx就會支持rewrite的模塊,但是也必須要PCRE的支持

rewrite是實現URL重寫的關鍵指令,根據regex(正則表達式)部分內容,重定向到replacement,結尾是flag標記。

rewrite語法格式及參數語法說明如下:

rewrite <regex> <replacement> [flag];

關鍵字 正則 替代內容 flag標記

關鍵字:其中關鍵字error_log不能改變

正則:perl兼容正則表達式語句進行規則匹配

替代內容:將正則匹配的內容替換成replacement

flag標記:rewrite支持的flag標記

flag標記說明:

  • last #本條規則匹配完成后,繼續向下匹配新的location URI規則
  • break #本條規則匹配完成即終止,不再匹配后面的任何規則
  • redirect #返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址
  • permanent #返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址

rewrite參數的標簽段位置:

server,location,if

例子:

rewrite ^/(.*) http://www.czlun.com/$1 permanent;

說明:

  • rewrite為固定關鍵字,表示開始進行rewrite匹配規則
  • regex部分是 ^/(.*) ,這是一個正則表達式,匹配完整的域名和后面的路徑地址
  • replacement部分是http://www.czlun.com/$1 $1,是取自regex部分()里的內容。匹配成功后跳轉到的URL。
  • flag部分 permanent表示永久301重定向標記,即跳轉到新的 http://www.czlun.com/$1 地址上

regex 常用正則表達式說明

字符

描述

\

將后面接著的字符標記為一個特殊字符或一個原義字符或一個向后引用。如“\n”匹配一個換行符,而“\$”則匹配“$”

^

匹配輸入字符串的起始位置

$

匹配輸入字符串的結束位置

*

匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”

+

匹配前面的字符一次或多次。如“ol+”能匹配“ol”及“oll”、“oll”,但不能匹配“o”

&#63;

匹配前面的字符零次或一次,例如“do(es)&#63;”能匹配“do”或者“does”,"&#63;"等效于"{0,1}"

.

匹配除“\n”之外的任何單個字符,若要匹配包括“\n”在內的任意字符,請使用諸如“[.\n]”之類的模式。

(pattern)

匹配括號內pattern并可以在后面獲取對應的匹配,常用$0...$9屬性獲取小括號中的匹配內容,要匹配圓括號字符需要\(Content\)

rewrite 企業應用場景

Nginx的rewrite功能在企業里應用非常廣泛:

  • u 可以調整用戶瀏覽的URL,看起來更規范,合乎開發及產品人員的需求。
  • u 為了讓搜索引擎搜錄網站內容及用戶體驗更好,企業會將動態URL地址偽裝成靜態地址提供服務。
  • u 網址換新域名后,讓舊的訪問跳轉到新的域名上。例如,訪問京東的360buy.com會跳轉到jd.com
  • u 根據特殊變量、目錄、客戶端的信息進行URL調整等

Nginx配置rewrite過程介紹

(1)創建rewrite語句

vi conf/vhost/www.abc.com.conf

#vi編輯虛擬主機配置文件

文件內容

server {
    listen 80;
    server_name abc.com;
    rewrite ^/(.*) http://www.abc.com/$1 permanent;
}
server {
    listen 80;
    server_name www.abc.com;
    location / {
        root /data/www/www;
        index index.html index.htm;
    }
    error_log  logs/error_www.abc.com.log error;
    access_log  logs/access_www.abc.com.log  main;
}

或者

server {
    listen 80;
    server_name abc.com www.abc.com;
    if ( $host != 'www.abc.com' ) {
        rewrite ^/(.*) http://www.abc.com/$1 permanent;
    }
    location / {
        root /data/www/www;
        index index.html index.htm;
    }
    error_log  logs/error_www.abc.com.log error;
    access_log  logs/access_www.abc.com.log  main;
}

(2)重啟服務

確認無誤便可重啟,操作如下:

nginx -t

#結果顯示ok和success沒問題便可重啟

nginx -s reload

(3)查看跳轉效果

打開瀏覽器訪問abc.com

頁面打開后,URL地址欄的abc.com變成了www.abc.com說明URL重寫成功。

感謝你能夠認真閱讀完這篇文章,希望小編分享Nginx URL重寫rewrite機制的案例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙县| 报价| 拜城县| 嵊泗县| 皮山县| 疏勒县| 江华| 柘城县| 金寨县| 山东| 九江市| 集贤县| 屯昌县| 井冈山市| 边坝县| 宣化县| 宁海县| 清丰县| 英吉沙县| 如东县| 盘山县| 余干县| 新乡县| 南充市| 遵义市| 双牌县| 乃东县| 石首市| 新昌县| 苏州市| 阿合奇县| 道孚县| 安庆市| 奎屯市| 临澧县| 漯河市| 栾城县| 许昌市| 藁城市| 鱼台县| 台中县|