最近工作中常常要改nginx配置,學習了nginx中rewrite的用法
這裡說的url跳轉就是使用者在訪問乙個url時將其跳轉到另乙個url上。
常見的應用場景是讓多個網域名稱跳轉到同乙個url上,(例如讓舊網域名稱跳轉到新網域名稱上)
將靜態檔案請求跳轉到cdn上等
根據使用者裝置跳轉到不同站點(pc版,wap版)等。
url跳轉可以通過js在頁面上設定的window.location實現
也可以通過php設定header來實現
當然也可以用nginx 的 rewrite功能實現rewrite 是 nginx的靜態重寫模組
基本用法是 rewrite patten replace flag
patten是正規表示式,與patten匹配的url會被改寫為replace,flag可選
例如將舊網域名稱跳轉到新網域名稱上
server
跳轉到新網域名稱上時保留路徑
server
rewrite與location配合實現檔案跳轉到cdn
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
rewrite 後面可以加flag,flag標記有:
last 相當於apache裡的[l]標記,表示完成rewrite
break 終止匹配, 不再匹配後面的規則
redirect 返回302臨時重定向 位址列會顯示跳轉後的位址
permanent 返回301永久重定向 位址列會顯示跳轉後的位址
使用lua實現nginx rewrite
上一次上線只是簡單的把手機端的流量切換手機端的首頁,有點粗糙,現在需要把電腦端相應的頁面切換到電腦端的頁面,直接用nginx自帶的rewrite不太好做,所以用lua做 下面開始 nginx 配置 location mobile.lua 手機訪問重定向到移動版 end其實邏輯也很簡單,主要在ngin...
使用lua實現nginx rewrite
上一次上線只是簡單的把手機端的流量切換手機端的首頁,有點粗糙,現在需要把電腦端相應的頁面切換到電腦端的頁面,直接用nginx自帶的rewrite不太好做,所以用lua做 下面開始 nginx 配置 location mobile.lua 手機訪問重定向到移動版 end其實邏輯也很簡單,主要在ngin...
Nginx Rewrite 實現匹配泛網域名稱規則
nginx 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源 以類 bsd 許可證的形式發布 1 為了確保能在 ...