久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    nginx URL重寫(rewrite)配置

     instl 2024-12-11

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

    1.Nginx URL重寫(rewrite)介紹

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

    2.rewrite語法格式及參數(shù)語法:

    rewrite是實現(xiàn)URL重寫的關(guān)鍵指令,根據(jù)regex (正則表達式)部分內(nèi)容,
    重定向到replacement,結(jié)尾是flag標記。
    
    
    rewrite    <regex>    <replacement>    [flag];
    關(guān)鍵字      正則        替代內(nèi)容         flag標記
    
    關(guān)鍵字:其中關(guān)鍵字error_log不能改變
    正則:perl兼容正則表達式語句進行規(guī)則匹配
    替代內(nèi)容:將正則匹配的內(nèi)容替換成replacement
    flag標記:rewrite支持的flag標記
    
    rewrite參數(shù)的標簽段位置:
    server,location,if
    
    flag標記說明:
    last  #本條規(guī)則匹配完成后,繼續(xù)向下匹配新的location URI規(guī)則
    break  #本條規(guī)則匹配完成即終止,不再匹配后面的任何規(guī)則
    redirect  #返回302臨時重定向,瀏覽器地址會顯示跳轉(zhuǎn)后的URL地址
    permanent  #返回301永久重定向,瀏覽器地址欄會顯示跳轉(zhuǎn)后的URL地址
    

    2.1nginx rewrite變量,常用于匹配HTTP請求頭信息、瀏覽器主機名、URL

    HTTP headers:HTTP_USER_AGENT, HTTP_REFERER, HTTP_COOKIE, HTTP_HOST, HTTP_ACCEPT;
    connection & request: REMOTE_ADDR, QUERY_STRING;
    server internals: DOCUMENT_ROOT, SERVER_PORT, SERVER_PROTOCOL;
    system stuff: TIME_YEAR, TIME_MON, TIME_DAY。
    詳解如下:
    HTTP_USER_AGENT      用戶使用的代理,例如瀏覽器;
    HTTP_REFERER         告知服務器,從哪個頁面來訪問的;
    HTTP_COOKIE          客戶端緩存,主要用于存儲用戶名和密碼等信息;
    HTTP_HOST            匹配服務器ServerName域名;
    HTTP_ACCEPT          客戶端的瀏覽器支持的MIME類型;      
    REMOTE_ADDR          客戶端的IP地址
    QUERY_STRING         URL中訪問的字符串;
    DOCUMENT_ROOT        服務器發(fā)布目錄;
    SERVER_PORT          服務器端口;
    SERVER_PROTOCOL      服務器端協(xié)議;
    TIME_YEAR            年;
    TIME_MON             月;
    TIME_DAY              日;
    

    3.例子

    3.0較難場景

    第一種:
    將uri中的所有空格替換為"_",連續(xù)的空格替換為一個"_"放到proxy_pass之前,
    切記, 下述表達式中第一個括號后有空格
    rewrite '^(\S+) +(\S+)(.*)' $1_$2$3 last;
    

    3.1demo01

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

    3.2demo02

    vi編輯虛擬主機配置文件

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

    修改文件內(nèi)容方法1

    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;
    }
    

    修改文件內(nèi)容方法2

    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;
    }
    

    3.3將跳轉(zhuǎn)至www.

    if ($host = ' ) {
         #其中$1是取自regex部分()里的內(nèi)容,匹配成功后跳轉(zhuǎn)到的URL。
         rewrite ^/(.*)$  http://www./$1  permanent;
    }
    

    3.4訪問www.跳轉(zhuǎn)www.test.com/index01.html

    rewrite   ^/$  http://www.test.com/index01.html  permanent;
    

    3.5訪問/zy/test01/跳轉(zhuǎn)至/newindex.html,瀏覽器地址不變

    rewrite   ^/zy/test01/$     /newindex.html     last;
    

    3.6多域名跳轉(zhuǎn)到www.

    if ($host != 'www.jfedu.net’ ) {
        rewrite ^/(.*)$  http://www.zy.com/$1  permanent;
    }
    

    3.7訪問文件和目錄不存在跳轉(zhuǎn)至index.php

    if ( ! -e $request_filename ) {
        rewrite  ^/(.*)$  /index.php  last;
    }
    

    3.8目錄對換 /xxxx/123456 ====> /xxxx?id=123456

    rewrite    ^/(.+)/(\d+)      /$1?id=$2       last;
    

    3.9判斷瀏覽器User Agent跳轉(zhuǎn)

    if( $http_user_agent  ~ MSIE) {
        rewrite ^(.*)$ /ie/$1 break}
    

    3.10 禁止訪問以.sh,.flv,.mp3為文件后綴名的文件

    location ~ .*\.(sh|flv|mp3)${
           return 403} 
    

    3.11 將移動用戶訪問跳轉(zhuǎn)至移動端

    if ( $http_user_agent ~* "(Android)|(iPhone)|(Mobile)|(WAP)|(UCWEB)" ){
          rewrite ^/$    http://m.jfedu.net/    permanent;
    }
    

    3.12 訪問/10690/zy/123跳轉(zhuǎn)至/index.php?tid/10690/items=123,[0-9]表示任意一個數(shù)字,+表示多個,(.+)表示任何多個字符__

    rewrite   ^/([0-9]+)/zy/(.+)$     /index.php?tid/$1/items=$2     last;
    

    3.13匹配URL訪問字符串跳轉(zhuǎn)

    if ($args ~* tid=13){
        return 404;
    }
    

    4.rewrite 企業(yè)應用場景

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

      本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 97久久综合亚洲色hezyo| 亚洲中文字幕无码中字| av午夜福利一片免费看久久| 精品中文人妻在线不卡| 国产成人精品无码免费看| 国产成人午夜福利在线播放| A毛片终身免费观看网站| 色综合久久久久综合体桃花网| 国产成人精品无码播放| 好涨好硬好爽免费视频| 日韩国产成人精品视频| 国产良妇出轨视频在线观看| gogogo高清在线观看视频中文| 麻花传媒免费网站在线观看| 亚洲av无码成人精品区一区| 伊人久久大香线蕉成人| 国产精品无码av不卡| 成人欧美一区二区三区的电影| 亚洲国产成人综合精品| 亚洲国产精品久久久久久无码| 国产精品午夜福利91| 亚韩精品中文字幕无码视频| 欧美大胆老熟妇乱子伦视频| 中文字幕av无码免费一区| 久久精品国产亚洲AV瑜伽| 人妻系列无码专区免费| 中文字幕人妻系列人妻有码 | 又粗又紧又湿又爽的视频| 亚洲成在人线在线播放无码| 无码天堂亚洲国产AV| 116美女极品a级毛片| 国产精品 视频一区 二区三区| 18禁午夜宅男成年网站| 久草热8精品视频在线观看| 国内精品久久久久影院蜜芽| 性欧美VIDEOFREE高清大喷水| 少妇人妻无码专区视频| 国产精品久久久天天影视香蕉| 最新国产精品好看的精品| 欧美成人精品三级在线观看| 天天夜碰日日摸日日澡性色AV|