1. 首頁
  2. »
  3. 網站架設
  4. »
  5. 主機
  6. »
  7. Nginx 301 常用永久轉址規則懶人包(nginx.conf)

Nginx 301 常用永久轉址規則懶人包(nginx.conf)

2022/02/14
梅問題-Nginx 301 常用永久轉址規則懶人包
  一直以來梅干比較習慣 Apache 中的 htaccess 的轉址設定,再加上Apache在網路中的資源也相當的豐富,因此當遇到什麼問題時,幾乎可以透過網路的文件中找到相關的文件,但自從梅干將教學改成hugo後,就將主機改用Nginx,不但Nginx相當的輕巧且效能也相當的不錯,但唯一的缺點,就是網路路中的討論資源比較少一些。

  由於最近調整了一下網址的結構,造成舊網址失效,這時就得透過301進行轉址,本來想說小菜一碟,但卻發現是nginx,這還讓梅干搜遍了網路各個的轉址文件,就這樣來回的測試終於搞懂了nginx的轉址規則,而梅干也整理了幾個常遇到的轉址與規則,因此使用nginx架設的朋友,不妨也一塊來看看吧!
1.將舊網頁轉新網頁,如:abc.html=>post/abc.html
若是網頁的話,只需在^/….$中間加入,原來的網頁名稱,後方則是導向的新網頁。
location /{
rewrite ^/abc.html$ /post/caffeine.html permanent;
}

2.將舊目錄轉向新目錄,如:tag=>tags
目錄與檔案在轉址上,有沒有發現,當是目錄的結構下,後方需加一個 / ,同時舊目錄第一個()為$1開始計算,若有多個就$1、$2、$3…依此類推。
location /{
rewrite ^/tag/(.*)/$ /tags/$1/ permanent;
}

3.自動將目錄名稱後方加入斜線。
location / {
if (-d $request_filename){<br>
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
}

4.http強制轉向https
這一需加在server 80的設定底下。
return 301 https://$host$request_uri;

延伸文章