linux中nginx 301重新導向跳轉方法總結,有需要的朋友可參考一下。
第一種情況:訪問aaaaaaa站定向到bbbbbbbbbbb站
代碼如下 |
複製代碼 |
•server { •server_naaaaaaame www.aaaaaaa.com ; •rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; •}
|
第二種情況:不是訪問aaaaaaa站的全部重新導向到指定頁面
代碼如下 |
複製代碼 |
•server { •server_naaaaaaame www.aaaaaaa.com; •if ($host != ‘aaaaaaa.com’ ) •{ rewrite ^/(.*)$ http://www.bbbbbbbbbbb.com/$1 permaaaaaaanent; }}
|
如果寫在第一個server段 使用IP訪問時也將被重新導向
第三種帶WWW或者不帶WWW之間的跳轉
代碼如下 |
複製代碼 |
•server •{ •server_naaaaaaame c.net •rewrite ^/(.*)$ http://www.c.net/$1 permaaaaaaanent; •} |
下面是nginx的規則跳轉:
首先一、得在你的網域名稱管理裡面定義 c.com和www.c.com指向你的主機ip地址,我們可以使用nslookup命令測試:直接輸入 nslookup c.com和nslookup www.c.com 都有指向ip的A記錄即可。
第二、我們才能在nginx裡面配置rewrite規則。開啟 nginx.conf檔案
找到你的server配置段:【以下是我的server配置段】
代碼如下 |
複製代碼 |
server { listen 80; server_name www.c.com c.com; if ($host != ‘www.c.com’ ) { rewrite ^/(.*)$ http://www.c.com/$1 permanent; }
|
這樣就是使用者直接存取c.com直接跳轉的www.c.com。即讓不帶www的網域名稱跳轉到帶www的網域名稱。
三、我們可以是多個次層網域、第三層網域名都可以隨意跳轉、或者讓它們都跳轉到blog.c.com這個網域名稱
同意添加如下語句即可:
代碼如下 |
複製代碼 |
server { listen 80; server_name blog.c.com wgkgood.gicp.net; if ($host = ‘wgkgood.gicp.net’ ) { rewrite ^/(.*)$ http://blog.c.com/$1 permanent; } |