使用lua實現nginx rewrite

2021-09-02 16:59:00 字數 929 閱讀 6413

上一次上線只是簡單的把手機端的流量切換手機端的首頁,有點粗糙,現在需要把電腦端相應的頁面切換到電腦端的頁面,直接用nginx自帶的rewrite不太好做,所以用lua做

下面開始**

nginx 配置

location /
mobile.lua**

-- 手機訪問重定向到移動版

end

其實邏輯也很簡單,主要在nginx rewrite 階段完成頁面跳轉,判斷是否手機端,然後通過乙個table把對應的url對映好,直接以當前uri作為key取table的值,如果取到說明有對映關係,直接把值當成新的url重定向過去

querystring是get引數,有的需要有的不需要,不帶引數的話,有點頁面會有問題,比如文章詳情,是需要文章id的

通過lua可以寫很複雜的服務端處理邏輯,應用程式只需要做好自己的事情就好了

使用lua實現nginx rewrite

上一次上線只是簡單的把手機端的流量切換手機端的首頁,有點粗糙,現在需要把電腦端相應的頁面切換到電腦端的頁面,直接用nginx自帶的rewrite不太好做,所以用lua做 下面開始 nginx 配置 location mobile.lua 手機訪問重定向到移動版 end其實邏輯也很簡單,主要在ngin...

Lua繼承(使用table實現)

lua本身是不能像c 那樣直接實現繼承,我們可以用萬能的table表來實現。廢話不多說,直接上 父類 people.lua people people.name 人 people.age 18 預設18歲 function people speak str print self.name self....

使用lua實現try catch異常捕獲

lua原生並沒有提供try catch的語法來捕獲異常處理,但是提供了pcall xpcall等介面,可在保護模式下執行lua函式。因此,可以通過封裝這兩個介面,來實現try catch塊的捕獲機制。我們可以先來看下,封裝後的try catch使用方式 try 上面的 中,在try塊內部認為引發了乙...