常用的nginx rewrite重寫規則

2022-09-13 11:45:13 字數 1262 閱讀 1094

本文提供一些常用的rewrite重寫規則,用來美化網頁的鏈結。規則裡面的$1$2你不知道是怎麼來的話,只要記住,第乙個()裡面的是$1,第二個()裡面的是$2.

請求的url是給人看的,重寫後的url是給電腦看的。

這個規則的目的是為了執行搜尋,搜尋url中包含的關鍵字。

請求的url	重寫後url	重寫規則rewrite ^/search/(.*)$ /search.php?p=$1?;

大多數執行訪問者註冊的動態**都提供乙個可以檢視個人資料的頁面,這個頁面的url包含使用者的uid和使用者名稱

請求的url	重寫後url	重寫規則rewrite ^/user/([0-9]+)/(.+)$ /user.php?id=$1&name=$2?;

有些**對字串引數使用不同的語法,例如 通過斜線「/」來分隔非命名引數

請求的url	重寫後url	重寫規則rewrite ^/index.php/(.*)/(.*)/(.*)$ /index.php?p1=$1&p2=$2&p3=$3?;

這種格式特點,乙個字首目錄,後跟文章名稱

請求的url	重寫後url	重寫規則rewrite ^/wiki/(.*)$ /wiki/index.php?title=$1?;

論壇一般用到兩個引數,乙個話題標識(topic)乙個出發點(starting post)

請求的url	重寫後url	重寫規則rewrite ^/topic-([0-9]+)-([0-9]+)-(.*)\.html$ viewtopic.php?topic=$1&start=$2?;

這種url結構的特點,由乙個文章識別符號,後跟乙個斜線,和乙個關鍵字列表組成。

請求的url	重寫後url	重寫規則rewrite ^/([0-9]+)/.*$ /aticle.php?id=$1?;

rewrite ^/users/(.*)$ /show?user=$1?last;

比較乙個加上?標記和不加?標記的url跳轉區別:

rewrite ^/test(.*)$  premanent;

訪問 經過301跳轉後的url位址為 ?id=5

rewrite ^/test(.*)$ ?premanent;

訪問 經過301跳轉後的url位址為

Nginx rewrite 的幾個技巧

在軟體的發布中,我們經常會使用到 nginx,nginx 的功能非常的龐雜,其中 rewrite 是乙個非常常用的功能模組,本文介紹 rewrite 的基本概念和幾個小技巧。rewrite 是 nginx 中的乙個模組,這個模組用來重定向頁面,在 rewrite 模組中包含了幾個指令來實現不同的功能...

nginx rewrite 重寫規則

1注意點 在重寫的時候,一定要注意,if 和後面的括號是要有乙個空格的 if host com 2.在重寫的時候,需要使用正規表示式 host 代表網域名稱,首先判斷網域名稱,來看這個正則 rewrite de permanent 代表網域名稱下面的 com de 這個路徑下面的,重寫為 其中 1代...

nginx Rewrite語法詳解

重寫中用到的指令 if 條件 設定條件,再進行重寫 set 設定變數 return 返回狀態碼 break 跳出rewrite rewrite 重寫 跳轉的話url都變了,變成重新http請求404.html,而內部rewrite,上下文沒變,就是說 fastcgi script name 仍然是 ...