上周末兄弟專案準備擴充套件伺服器以便提供更好的服務,兄弟專案有一些功能是實時提供到我這邊的,需要我這邊暫時把對應系統功能遮蔽,因為使用nginx,所以可以直接配置nginx重定向到固定系統維護頁面。
nginx重定向其實很簡單,用return或rewrite關鍵字均可,因為重定向後直接跳轉到靜態頁面,不需要後續操作和記錄,所以直接301永久重定向。
其中重定向既可以在server中配置,也可以在具體的location中配置,下面分別簡單介紹。
在server中配置:
或者在location中配置:
從以上例項看出,return用301引數重定向,rewrite用permanent(當然還可以用break,last,區別的話自己查資料)。
不知道你們有沒有發現,以上兩個程式設計客棧例子中,都是用 a.com去重定向到 b.com ,我試過,用a.com直接重定向到a.com/upgrade.html,會報錯重複次數太多,也就是進入死迴圈。在同時管理多個網域名稱是可以配置用a重定向b,但是如果只有乙個網域名稱a那怎麼弄呢?
這時候就用到if條件判斷了,此處我們以在server中配置為例說明:
以上例項說明,程式設計客棧當訪問路徑不包含 /upgrade.html時就重定向到upgrade.html,此時能夠重定向,不會再有重複次數太多的提示,但有另乙個問題,就是upgrade.html中的無法顯示了,暫時沒時間去研究如何避免被重定向了,後面有時間再補充。
測試if條件的時候,遇到乙個特別坑的事,就是新增if後重啟nginx報錯:
job for nginx.service failed because the control process exit程式設計客棧ed with error code. see "systemctl status nginx.service" and "journalctl -xe" for details.
輸入systemctl status nginx.service可檢視錯誤資訊,其中nginx: [emerg] unknown directive "if($request_uri"錯誤查詢到答案,原來是if後面必須要有乙個空格!!!!,太坑了,網上那些介紹nginxif的文章都沒有提到這麼重要的資訊。。。
感謝資料:
if後必須有空格:
nginx中return和rewrite:
配置nginx輸入任何位址都跳轉至維護頁面
筆記一下:配置nginx輸入任何位址都跳轉至維護頁面
server 1";
}if ($request_uri !~ "/502.html$" )2";
}if ($flag = "012")
location /{
...
Nginx日誌重定向到標準輸出
靜態站點使用 docker 部署時,希望 nginx前台啟動 的同時可以將錯誤日誌和訪問日誌全部重定向到標準輸出,便於採集和處理!只需要修改 nginx.conf 中 3行 關於日誌的配置就ok了 daemon off error log dev stdout warn access log dev...
nginx配置 三 重定向
301永久跳轉,當使用者或搜尋引擎向 伺服器發出瀏覽請求時,伺服器返回的http資料流中頭資訊中的狀態碼的一種,表示本網頁永久性轉移到另乙個位址。302臨時跳轉,也是狀態碼的一種,意義是暫時轉向到另外乙個 二者的區別主要是,一句話,302容易被搜尋引擎視為spam,301則不會。permanent代...
nginx配置檔案實現vue重定向訪問
注 yum安裝過程中如果報錯except ioerror,e invalid syntax並且重新安裝了python3,那麼是因為當前yum不支援python3,解決方案1 公升級yum 2 修改 usr bin yum檔案的開頭改為 usr bin python2 檢視安裝位置 whereis n...