主頁(yè) > 知識(shí)庫(kù) > 配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面

配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面

熱門標(biāo)簽:打400電話怎么辦理收費(fèi) 怎么找到?jīng)]有地圖標(biāo)注的店 福州企業(yè)電銷機(jī)器人排名 400電話辦理介紹信 上海申請(qǐng)高400開頭的電話 河南防封號(hào)電銷機(jī)器人是什么 麗江真人語(yǔ)音電話外呼系統(tǒng) 宿城區(qū)電話機(jī)器人找哪家 10086外包用的什么外呼系統(tǒng)

上周末兄弟項(xiàng)目準(zhǔn)備擴(kuò)展服務(wù)器以便提供更好的服務(wù),兄弟項(xiàng)目有一些功能是實(shí)時(shí)提供到我這邊的,需要我這邊暫時(shí)把對(duì)應(yīng)系統(tǒng)功能屏蔽,因?yàn)槭褂胣ginx,所以可以直接配置nginx重定向到固定系統(tǒng)維護(hù)頁(yè)面。

nginx重定向其實(shí)很簡(jiǎn)單,用return或rewrite關(guān)鍵字均可,因?yàn)橹囟ㄏ蚝笾苯犹D(zhuǎn)到靜態(tài)頁(yè)面,不需要后續(xù)操作和記錄,所以直接301永久重定向。

其中重定向既可以在server中配置,也可以在具體的location中配置,下面分別簡(jiǎn)單介紹。

在server中配置:

http {
    server{
        listen 80;
        server_name A.com;

     # 以下return 或 rewrite 選擇其中一個(gè)就行。其中upgrade.html 是自己寫的提示頁(yè)面
        return 301 http://B.com/upgrade.html;  
        # rewrite ^/(.*)$ http://B.com/upgrade.html permanent;
        location / {          # 此處省略后面配置內(nèi)容     }  } }

或者在location中配置:

http {
    server{
        listen 80;
        server_name A.com;
        location / {
            rewrite ^/(.*)$ http://B.com/upgrade.html permanent;
           # 此處省略后面配置內(nèi)容     }  } }

從以上實(shí)例看出,return用301參數(shù)重定向,rewrite用permanent(當(dāng)然還可以用break,last,區(qū)別的話自己查資料)。

不知道你們有沒(méi)有發(fā)現(xiàn),以上兩個(gè)例子中,都是用 A.com去重定向到 B.com ,我試過(guò),用A.com直接重定向到A.com/upgrade.html,會(huì)報(bào)錯(cuò)重復(fù)次數(shù)太多,也就是進(jìn)入死循環(huán)。在同時(shí)管理多個(gè)域名是可以配置用A重定向B,但是如果只有一個(gè)域名A那怎么弄呢?

這時(shí)候就用到if條件判斷了,此處我們以在server中配置為例說(shuō)明:

http {
    server{
        listen 80;
        server_name A.com;        

        # 注意 if 后面必須有一個(gè)空格?。。?
        if ($request_uri !~ "/upgrade.html$") {
            return 301 http://A.com/upgrade.html;
        }

        location / {
          # 此處省略后面配置內(nèi)容
     }
   } 
}

以上實(shí)例說(shuō)明,當(dāng)訪問(wèn)路徑不包含 /upgrade.html時(shí)就重定向到upgrade.html,此時(shí)能夠重定向,不會(huì)再有重復(fù)次數(shù)太多的提示,但有另一個(gè)問(wèn)題,就是upgrade.html中的圖片無(wú)法顯示了,暫時(shí)沒(méi)時(shí)間去研究如何避免圖片被重定向了,后面有時(shí)間再補(bǔ)充。

測(cè)試if條件的時(shí)候,遇到一個(gè)特別坑的事,就是添加if后重啟nginx報(bào)錯(cuò):

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

輸入systemctl status nginx.service可查看錯(cuò)誤信息,其中nginx: [emerg] unknown directive "if($request_uri"錯(cuò)誤查找到答案,原來(lái)是if后面必須要有一個(gè)空格?。。?!,太坑了,網(wǎng)上那些介紹nginxif的文章都沒(méi)有提到這么重要的信息。。。

感謝資料:

if后必須有空格:https://blog.csdn.net/palet/article/details/103394236

nginx中return和rewrite:https://blog.csdn.net/u010982507/article/details/104025717

知識(shí)點(diǎn)補(bǔ)充

配置nginx輸入任何地址都跳轉(zhuǎn)至維護(hù)頁(yè)面

筆記一下:配置nginx輸入任何地址都跳轉(zhuǎn)至維護(hù)頁(yè)面

server {
    listen 80;
    root /xxx/xxx/src;
    index index.html index.htm;

    server_name test.xxx.com;

    set $flag 0;
      if ($request_uri !~ "(/static/.*)$"){
          set $flag "${flag}1";
      }
      if ($request_uri !~ "/502.html$" ){
          set $flag "${flag}2";
      }
      if ($flag = "012") {
         rewrite ^(.*) http://test.xxx.com/502.html permanent;
      }

 location /{
     ...

以上就是nginx 重定向到系統(tǒng)維護(hù)頁(yè)面的詳細(xì)內(nèi)容,更多關(guān)于nginx重定向維護(hù)頁(yè)面的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:遵義 隴南 朝陽(yáng) 荊門 連云港 雞西 運(yùn)城 面試通知

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面》,本文關(guān)鍵詞  配置,nginx,重定,向到,系統(tǒ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 重定向到系統(tǒng)維護(hù)頁(yè)面》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于配置nginx 重定向到系統(tǒng)維護(hù)頁(yè)面的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章