Nginx rewrite 301 永久重定向跳轉

2021-07-25 05:07:25 字數 1607 閱讀 2398

(1)實現跳轉到

跳轉前,對應的站點配置(前提是在www.klaus.org站點www目錄下得有blog目錄,並且blog目錄下有klaus.html檔案輸出)

<== 配置無論使用者輸入任意.klau.org都會跳轉到www.klaus.org/blog/klaus.html頁面下;

12        access_log logs/access_blog.log main gzip buffer=32k flush=5s;

13     }

跳轉後,位址對應的站點配置如下:

[root@mobana conf]# cat -n extra/www.conf

1  server

8       access_log logs/access_www.log main gzip buffer=32k flush=5s;

9     }

(2)實現訪問跳轉到

[root@mobana conf]# cat extra/www.conf -n

1  server

8       rewrite ^(.*)/bbs/ break;<==配置無論使用者輸入klau.org/bbs都會跳轉到bbs.klaus.org頁面下;

9       access_log logs/access_www.log main gzip buffer=32k flush=5s;

10     }

[root@mobana conf]# cat extra/bbs.conf -n

1      server

8        access_log logs/access_bbs.log main gzip buffer=32k flush=5s;

9     }

注:問題1:在(1)中需要提前在www目錄下建立blog目錄,並且在blog目錄下有blog.klaus.org站點的主檔案;

問題2:在(2)中需要注意的是需要提前在hosts檔案中將klaus.org網域名稱做本地解析;

問題3:reload的時候會出現錯誤

[root@mobana conf]#

../sbin/nginx -t

[root@mobana conf]#

../sbin/nginx -s reload

[root@mobana conf]# ../sbin/nginx -s reload

[root@mobana conf]# netstat -lntup|grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   listen      1957/nginx

建議:在根location(即location、)中或者server標籤中編寫rewrite規則,使用last標記,而在普通的location(location/klaus/或者if{})中編寫rewrite規

則,使用break標記。

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 仍然是 ...

Nginx Rewrite規則初探

nginx rewrite nginx url位址重寫 rewrite 主要的功能就是實現url的重寫,nginx的rewrite規則採用pcre,perl相容正規表示式的語法規則匹配,如果需要nginx的rewrite功能,在編譯nginx之前,需要編譯安裝pcre庫。通過rewrite規則,可以...