Nginx配置url重寫


url重寫是指通過配置conf文件,以讓網站的url中達到某種狀態時則定向/跳轉到某個規則,比如常見的偽靜態、301重定向、瀏覽器定向等

rewrite

語法

在配置文件的server塊中寫,如:

server {
    rewrite 規則 定向路徑 重寫類型;
}

 

規則:可以是字符串或者正則來表示想匹配的目標url定向路徑:表示匹配到規則后要定向的路徑,如果規則里有正則,則可以使用$index來表示正則里的捕獲分組

重寫類型:

last :相當於Apache里德(L)標記,表示完成rewrite,瀏覽器地址欄URL地址不變

break;本條規則匹配完成后,終止匹配,不再匹配后面的規則,瀏覽器地址欄URL地址不變

redirect:返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址

permanent:返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址

 

  last:
        重新將rewrite后的地址在server標簽中執行
  break:
        將rewrite后的地址在當前location標簽中執行

 

 

建立一個測試頁面

 

 

 

server {
    # 訪問 /last.html 的時候,頁面內容重寫到 /index.html 中
    rewrite /last.html /index.html last

 

    

 

   

# 訪問 /break.html 的時候,頁面內容重寫到 /index.html 中,並停止后續的匹配
    rewrite /break.html /index.html break;


  

   

 

    

 

 

  

# 訪問 /redirect.html 的時候,頁面直接302定向到 /index.html中
    rewrite /redirect.html /index.html redirect


  

  

 

  

 

  頁面輸入的是

  

 

 

   302重定到你在nginx網站根目錄下創建的目錄

 

 

  

# 訪問 /permanent.html 的時候,頁面直接301定向到 /index.html中
    rewrite /permanent.html /index.html permanent;

    
  這個和redirect差不多也是重定301
  

  

 

 

 

  

# 把 /html/*.html => /post/*.html ,301定向
    rewrite ^/html/(.+?).html$ /post/$1.html permanent;

  

未完------------

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM