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

Nginx URL重寫(xiě)rewrite機(jī)制原理及使用實(shí)例

 更新時(shí)間:2020年08月24日 15:44:09   作者:邯鄲-小刀  
這篇文章主要介紹了Nginx URL重寫(xiě)(rewrite)機(jī)制原理及使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

URL重寫(xiě)有利于網(wǎng)站首選域的確定,對(duì)于同一資源頁(yè)面多條路徑的301重定向有助于URL權(quán)重的集中

Nginx URL重寫(xiě)(rewrite)介紹

和apache等web服務(wù)軟件一樣,rewrite的組要功能是實(shí)現(xiàn)RUL地址的重定向。Nginx的rewrite功能需要PCRE軟件的支持,即通過(guò)perl兼容正則表達(dá)式語(yǔ)句進(jìn)行規(guī)則匹配的。默認(rèn)參數(shù)編譯nginx就會(huì)支持rewrite的模塊,但是也必須要PCRE的支持

rewrite是實(shí)現(xiàn)URL重寫(xiě)的關(guān)鍵指令,根據(jù)regex(正則表達(dá)式)部分內(nèi)容,重定向到replacement,結(jié)尾是flag標(biāo)記。

rewrite語(yǔ)法格式及參數(shù)語(yǔ)法說(shuō)明如下:

rewrite <regex> <replacement> [flag];

關(guān)鍵字 正則 替代內(nèi)容 flag標(biāo)記

關(guān)鍵字:其中關(guān)鍵字error_log不能改變

正則:perl兼容正則表達(dá)式語(yǔ)句進(jìn)行規(guī)則匹配

替代內(nèi)容:將正則匹配的內(nèi)容替換成replacement

flag標(biāo)記:rewrite支持的flag標(biāo)記

flag標(biāo)記說(shuō)明:

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

rewrite參數(shù)的標(biāo)簽段位置:

server,location,if

例子:

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

說(shuō)明:

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

regex 常用正則表達(dá)式說(shuō)明

字符

描述

\

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

^

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

$

匹配輸入字符串的結(jié)束位置

*

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

+

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

?

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

.

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

(pattern)

匹配括號(hào)內(nèi)pattern并可以在后面獲取對(duì)應(yīng)的匹配,常用$0...$9屬性獲取小括號(hào)中的匹配內(nèi)容,要匹配圓括號(hào)字符需要\(Content\)

rewrite 企業(yè)應(yīng)用場(chǎng)景

Nginx的rewrite功能在企業(yè)里應(yīng)用非常廣泛:

  • u 可以調(diào)整用戶瀏覽的URL,看起來(lái)更規(guī)范,合乎開(kāi)發(fā)及產(chǎn)品人員的需求。
  • u 為了讓搜索引擎搜錄網(wǎng)站內(nèi)容及用戶體驗(yàn)更好,企業(yè)會(huì)將動(dòng)態(tài)URL地址偽裝成靜態(tài)地址提供服務(wù)。
  • u 網(wǎng)址換新域名后,讓舊的訪問(wèn)跳轉(zhuǎn)到新的域名上。例如,訪問(wèn)京東的360buy.com會(huì)跳轉(zhuǎn)到j(luò)d.com
  • u 根據(jù)特殊變量、目錄、客戶端的信息進(jìn)行URL調(diào)整等

Nginx配置rewrite過(guò)程介紹

(1)創(chuàng)建rewrite語(yǔ)句

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

#vi編輯虛擬主機(jī)配置文件

文件內(nèi)容

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)重啟服務(wù)

確認(rèn)無(wú)誤便可重啟,操作如下:

nginx -t

#結(jié)果顯示ok和success沒(méi)問(wèn)題便可重啟

nginx -s reload

(3)查看跳轉(zhuǎn)效果

打開(kāi)瀏覽器訪問(wèn)abc.com

頁(yè)面打開(kāi)后,URL地址欄的abc.com變成了www.abc.com說(shuō)明URL重寫(xiě)成功。

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

相關(guān)文章

  • Nginx正向反向代理區(qū)別及原理解析

    Nginx正向反向代理區(qū)別及原理解析

    這篇文章主要介紹了Nginx正向反向代理區(qū)別及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Nginx配置WebSocket反向代理的實(shí)現(xiàn)示例

    Nginx配置WebSocket反向代理的實(shí)現(xiàn)示例

    本文主要介紹了Nginx配置WebSocket反向代理的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 詳解Nginx中HTTP的keepalive相關(guān)配置

    詳解Nginx中HTTP的keepalive相關(guān)配置

    這篇文章主要介紹了Nginx中HTTP的keepalive相關(guān)配置,以及Nginx的Httpd守護(hù)進(jìn)程相關(guān)的keepalive timeout配置,需要的朋友可以參考下
    2016-01-01
  • 詳解Nginx虛擬主機(jī)配置中server_name的具體寫(xiě)法

    詳解Nginx虛擬主機(jī)配置中server_name的具體寫(xiě)法

    這篇文章主要介紹了Nginx虛擬主機(jī)配置中server_name的具體寫(xiě)法,server_name服務(wù)器名是虛擬主機(jī)中必須配置的重要參數(shù),需要的朋友可以參考下
    2016-03-03
  • nginx高可用集群的實(shí)現(xiàn)過(guò)程

    nginx高可用集群的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了nginx高可用集群的實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Nginx實(shí)現(xiàn)會(huì)話保持的兩種方式

    Nginx實(shí)現(xiàn)會(huì)話保持的兩種方式

    在我們做Nginx負(fù)載均衡的時(shí)候經(jīng)常會(huì)遇到會(huì)話保持的問(wèn)題,為了保證同一用戶session會(huì)被分配到同一臺(tái)服務(wù)器上,這時(shí)就需要會(huì)話保持,本文介紹了兩種方法,感興趣的可以了解一下
    2022-03-03
  • Nginx之正向代理與反向代理進(jìn)階方式(支持https)

    Nginx之正向代理與反向代理進(jìn)階方式(支持https)

    文章介紹了如何在Nginx中實(shí)現(xiàn)正向代理和反向代理對(duì)HTTP和HTTPS協(xié)議的支持,通過(guò)使用第三方模塊`ngx_http_proxy_connect_module`和Nginx內(nèi)置的`ngx_http_ssl_module`,可以實(shí)現(xiàn)Nginx對(duì)HTTPS的正向和反向代理
    2025-03-03
  • Nginx服務(wù)器中設(shè)置禁止訪問(wèn)文件或目錄的方法

    Nginx服務(wù)器中設(shè)置禁止訪問(wèn)文件或目錄的方法

    這篇文章主要介紹了Nginx服務(wù)器中設(shè)置禁止訪問(wèn)文件或目錄的方法,對(duì)于協(xié)同遠(yuǎn)程管理服務(wù)器的情況來(lái)講很有實(shí)用性,需要的朋友可以參考下
    2015-07-07
  • Nginx根據(jù)不同瀏覽器語(yǔ)言配置頁(yè)面跳轉(zhuǎn)的方法

    Nginx根據(jù)不同瀏覽器語(yǔ)言配置頁(yè)面跳轉(zhuǎn)的方法

    這篇文章主要介紹了Nginx根據(jù)不同瀏覽器語(yǔ)言配置頁(yè)面跳轉(zhuǎn)的方法,包括一個(gè)簡(jiǎn)體繁體的基本判斷方法及實(shí)際根據(jù)中英文跳轉(zhuǎn)的例子,需要的朋友可以參考下
    2016-04-04
  • nginx配置域名訪問(wèn)時(shí)域名后出現(xiàn)兩個(gè)斜杠//的解決方法

    nginx配置域名訪問(wèn)時(shí)域名后出現(xiàn)兩個(gè)斜杠//的解決方法

    最近這兩天重新寫(xiě)了一下我的個(gè)人網(wǎng)站,在阿里云新買(mǎi)了一臺(tái)服務(wù)器,配置好以后出現(xiàn)了一個(gè)問(wèn)題,就是輸入域名后域名地址會(huì)自動(dòng)在后面追加兩個(gè)斜桿,需要的朋友可以參考下
    2020-07-07

最新評(píng)論

浮山县| 当雄县| 台山市| 玉环县| 临高县| 灵丘县| 彭州市| 合山市| 武邑县| 榕江县| 尼玛县| 调兵山市| 新昌县| 景德镇市| 久治县| 昌图县| 商河县| 城口县| 乳山市| 泸州市| 铅山县| 句容市| 洪洞县| 合作市| 奉节县| 长寿区| 正镶白旗| 苏州市| 南皮县| 滁州市| 敦煌市| 即墨市| 屏东县| 景德镇市| 兖州市| 江口县| 宝山区| 余姚市| 郧西县| 通城县| 武汉市|