中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Nginx正則表達式與Nginxrewrite重寫功能的介紹

這篇文章將為大家詳細講解有關Nginx正則表達式與Nginx rewrite重寫功能的介紹,文章內容質量較高,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯建站長期為成百上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為平桂企業提供專業的成都網站制作、成都網站設計,平桂網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。

一、 Rewrite 跳轉實現
服務協議功能模塊
url 資源定位路徑

  • nginx————支持url重寫、支持if條件判斷,但不支持else
  • 跳轉————循環最多可以執行10次,超過后nginx將返回500代碼錯誤
  • rewrite————使用nginx’全局變量或自己設置的變量,結合正則表達式和標志位實現url重寫以及重定向
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    二、Rewrite 使用場景
  • 使用rewrite進行匹配跳轉
  • 使用if匹配全局變量后跳轉
  • 使用location匹配再跳轉
    1.rewrite放在 server{},if{},location{}段中
    2.對域名或參數字符串:使用if全局變量匹配、使用proxy_pass反向代理
    三、nginx正則表達式
    常用的正則表達式元字符
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    四、Rewrite 命令
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    location分類
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    正則匹配的常用表達式
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    五、location優先級
    按優先級排列:
  • = 類型
  • ^~ 類型表達式
  • 正則表達式(和)類型
  • 常規字符串匹配類型,按前綴匹配
  • 通用匹配(/),如果沒有其他匹配,任何請求都會匹配到
    location優先級規則(從高到低排列)
    1.匹配某個具體的文件
  • location = 完整路徑
  • location ^~ 完整路徑
  • location ~* 完整路徑
  • location ~ 完整路徑
  • location 完整路徑
  • location /
    2.用目錄做匹配訪問某個文件
  • location = 目錄
  • location ^~ 目錄
  • location ~ 目錄
  • location ~* 目錄
  • location 目錄
  • location /
    六、應用場景測試
    公司舊域名 www.domain.com 因業務需求有變更,需要使用新域名 www.newdomain.com 代替,不能廢除舊域名,從舊域名跳轉到新域名,且保持其參數不變

    [root@localhost bin]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    獲取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    警告:/var/tmp/rpm-tmp.IHyTHc: 頭V4 RSA/SHA1 Signature, 密鑰 ID 7bd9bf62: NOKEY
    準備中...                          ################################# [100%]
    正在升級/安裝...
    1:nginx-release-centos-7-0.el7.ngx ################################# [100%]
    [root@localhost bin]# yum install nginx -y 
    [root@localhost ~]# mkdir /abc
    [root@localhost ~]# mount.cifs //192.168.56.1 /mnt
    Password for root@//192.168.254.10/linuxs:  
    [root@localhost ~]# cd /abc/LNMP-C7/LNMP-C7/
    [root@localhost LNMP-C7]# ls
    Discuz_X3.4_SC_UTF8.zip
    MySQL-boost-5.7.20.tar.gz
    ncurses-5.6.tar.gz
    nginx-1.12.2.tar.gz
    php-5.6.11.tar.bz2
    php-7.1.10.tar.bz2
    php-7.1.20.tar.bz2
    php-7.1.20.tar.gz
    zend-loader-php5.6-linux-x86_64_update1.tar.gz
    [root@localhost LNMP-C7]# tar -zxvf nginx-1.12.2.tar.gz -C /opt
    [root@localhost LNMP-C7]# useradd -M -s /sbin/nologin nginx
    [root@localhost LNMP-C7]# cd /opt/nginx-1.12.2/
    [root@localhost nginx-1.12.2]# ls
    auto     CHANGES.ru  configure  html     man     src
    CHANGES  conf        contrib    LICENSE  README
    [root@localhost nginx-1.12.2]# yum install gcc gcc-c++ pcre pcre-devel make zlib-devel -y
    [root@localhost nginx-1.12.2]#  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
    [root@localhost nginx-1.12.2]# make && make install
    [root@localhost conf]# vim nginx.conf
    37         server_name  www.accp.com;
    41         access_log  logs/www.accp.com/access.log  main;
    [root@localhost conf]# yum install bind -y
    [root@localhost conf]# vim /etc/named.conf 
    13         listen-on port 53 { any; };
    21         allow-query     { any; };
    [root@localhost conf]# vim /etc/named.rfc1912.zones 
    25 zone "accp.com" IN {
    26         type master;
    27         file "accp.com.zone";
    28         allow-update { none; };
    29 };
    [root@localhost conf]# cd /var/named/
    [root@localhost named]# ls
    data     named.ca     named.localhost  slaves
    dynamic  named.empty  named.loopback
    [root@localhost named]# cp -p named.localhost accp.com.zone
    [root@localhost named]# vim accp.com.zone 
    www     IN      A       192.168.247.202
    [root@localhost named]# systemctl start named
    [root@localhost named]# systemctl stop firewalld.service 
    [root@localhost named]# setenforce 0
    [root@localhost named]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
    [root@localhost named]# cd /usr/local/nginx/
    [root@localhost nginx]# ls
    conf  html  logs  sbin
    [root@localhost nginx]# cd logs/
    [root@localhost logs]# mkdir www.accp.com
    [root@localhost logs]# ls
    error.log  www.accp.com
    [root@localhost logs]# nginx 
    [root@localhost logs]# netstat -natp | grep 80
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6

    打開win10客戶機,配置DNS服務器,并使用域名訪問。
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    Nginx正則表達式與Nginx rewrite重寫功能的介紹

    [root@localhost logs]# vim /usr/local/nginx/conf/nginx.conf
    
        location / {
           #域名重定向
    ‘                 if ($host = 'www.accp.com') {
    ’                       rewrite ^/(.*)$ http://www.kgc.com/$1 permanent;
    ‘               }
                 root /html;
                 index index.html index.htm;
        }
    [root@localhost logs]# vim /etc/named.rfc1912.zones 
    zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
    };
    [root@localhost logs]# cd /var/named/
    [root@localhost named]# ls
    accp.com.zone  dynamic   named.empty      named.loopback
    data           named.ca  named.localhost  slaves
    [root@localhost named]# cp -p accp.com.zone kgc.com.zone
    [root@localhost named]# systemctl restart named
    [root@localhost named]# killall -1 nginx

    Nginx正則表達式與Nginx rewrite重寫功能的介紹

    [root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
    37         server_name  bbs.accp.com;
    42         location /post {
    43                 rewrite (.+) http://www.accp.com/bbs$1 permanent;
    44         }
    [root@localhost html]# cd -
    /var/named
    [root@localhost named]# vim accp.com.zone 
    [root@localhost named]# cat accp.com.zone 
    $TTL 1D
    @   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    bbs IN  A   192.168.247.202
    [root@localhost named]# killall -3 nginx
    [root@localhost named]# nginx
    [root@localhost named]# systemctl restart named

    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    基于客戶端IP訪問跳轉

    [root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
    
    42 #設置是否合法的IP標志
    43         set $rewrite true;
    44 #判斷是否為合法IP,是否是允許的IP
    45         if ($remote_addr = "192.168.247.139"){
    46                 set $rewrite false;
    47         }
    48 #不被允許的IP進行判斷,打上標記
    49         if ($rewrite = true){
    50                 rewrite (.+) /maintenance.html;
    51         }
    52 #匹配標記進行跳轉站點
    53         location = /maintenance.html {
    54                 root html;
    55         }
    [root@localhost named]# cd /usr/local/nginx/html/
    [root@localhost html]# ls
    50x.html  index.html
    [root@localhost html]# vim maintenance.html
    [root@localhost html]# killall -3 nginx 
    [root@localhost html]# nginx 

    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    基于參數匹配的跳轉———跳轉到首頁
    Nginx正則表達式與Nginx rewrite重寫功能的介紹

    [root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
    37         server_name  www.accp.com;
    42         if ($request_uri ~ ^/100-(100|200)-(\d+).html$){
    43                 rewrite (.*) http://www.accp.com permanent;
    44         }
    [root@localhost named]# vim accp.com.zone 
    [root@localhost named]# cat accp.com.zone 
    $TTL 1D
    @   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    www IN  A   192.168.247.202
    [root@localhost named]# systemctl restart named
    [root@localhost named]# killall -3 nginx
    [root@localhost named]# nginx

    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    基于目錄下所有PHP文件跳轉

    [root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
    42         location ~* /upload/.*\.php$ {
    43                 rewrite (.+) http://www.accp.com permanent;
    44         }
    [root@localhost named]# nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    [root@localhost named]# killall -3 nginx
    [root@localhost named]# nginx

    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    基于最普通URL請求的跳轉——跳轉到首頁

    [root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
    42         location ~* ^/abc/123.html {
    43                 rewrite (.+) http://www.accp.com permanent;
    44         }

    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    Nginx正則表達式與Nginx rewrite重寫功能的介紹
    基于最普通URL請求的跳轉——跳轉到首頁

    [root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
    42         location ~* ^/abc/123.html {
    43                 rewrite (.+) http://www.accp.com permanent;
    44         }
    [root@localhost named]# killall -3 nginx
    [root@localhost named]# nginx
到此為止, 關于Nginx正則表達式與Nginx rewrite重寫功能有了一個基礎的認識, 但是對于具體的使用方法還是需要多加鞏固和練習,如果想了解更多相關內容,請關注創新互聯行業資訊。

文章題目:Nginx正則表達式與Nginxrewrite重寫功能的介紹
文章地址:http://www.2m8n56k.cn/article14/jjdsde.html

成都網站建設公司_創新互聯,為您提供外貿網站建設定制開發微信公眾號網站維護企業建站品牌網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
主站蜘蛛池模板: 女人张开腿让男人桶免费网站 | 亚洲一区免费在线观看 | 欧洲乱码伦视频免费 | 亚洲乱码国产一区网址 | 一级不卡毛片免费 | 亚洲精品高清国产一久久 | 1024国产欧美日韩精品 | 青青爽国产手机在线观看免费 | 亚洲欧美高清 | 国产成人欧美视频在线 | 午夜性刺激免费视频 | 在线视频一区二区三区 | 久草新免费 | 日本aaaaa毛片动漫 | 综合亚洲精品一区二区三区 | 国产一级做a爰片在线看 | 日韩精品一区二区三区不卡 | 亚洲欧美中文日韩在线v日本 | 欧美日韩视频一区三区二区 | 国产成人精品久久 | 亚洲欧美精品成人久久91 | 美女视频黄a | 国产精品国内免费一区二区三区 | 美女与男人对肌免费网站 | 中文字幕视频在线 | 国产成人啪精品午夜在线观看 | 91aaa免费免费国产在线观看 | 久久香蕉国产观看猫咪3atv | 中文字幕亚洲不卡在线亚瑟 | 成人影院一区二区三区 | 精品丝袜国产自在线拍亚洲 | 国产成人福利视频网站 | 特黄a大片免费视频 | 国产久草视频在线 | 亚洲午夜免费 | 欧美色xxx| 日本免费在线观看视频 | 精品久久久久国产 | 男女午夜 | 成人毛片高清视频观看 | 免费香蕉成视频成人网 |