個人筆記nginx rewrite位址跳轉

2021-10-05 20:40:41 字數 4121 閱讀 9696

需求1: 將使用者請求url.oldxu.com.zh跳轉至url.oldxu.com/zh

需求2: 將使用者請求url.oldxu.com.jp跳轉至url.oldxu.com/jp

)#配置rewrite跳轉規則

# systemctl reload nginx需求3: 過濾 nginx 請求中包含 a1=3526 的http請求到 10.16.3.5 的 8080 埠處理。

server 

}}

測試的curl命令: curl -l -hhost:url.oldxu.com 

-l 跟隨跳轉

-h 指定host頭,具體要請求的網域名稱是

如果使用者使用 ie 訪問 url.oldxu.com 則返回字串 ( 請更換您的瀏覽器。 ) chrome

server 

}}

如果使用ie訪問,直接報錯 500.

server 

}}

server 

}}

rewrite flag標記

rewrite主要是用來重寫url、或者說是用來做url位址跳轉的

關鍵字    正規表示式      替換成什麼樣子	標記

syntax: rewrite regex replacement [flag];

default: —

context: server, location, if

last: 匹配成功,表示要停止繼續匹配。

請求的是1.html,最終的訪問結果是a.html

因為:在location{}內部,遇到last,本location{}內後續指令不在執行。

匹配成功後,會重新像server{}標籤發起請求,從頭到尾在匹配一遍規則,那個匹配則執行哪個。

break: 匹配成功,表示要停止繼續匹配。

請求的是1.html,最終的訪問結果是2.html

因為:在location {} 內部遇到了break,本location內以及後面的所有的location{}內的指令都不在執行。

當rewrite規則遇到break後,本location{}與其他location{}的所有rewrite/return規則都不再執行。

當rewrite規則遇到last後,本location{}裡後續rewrite/return規則不執行,但重寫後的url再次從頭開始執行所有規則,哪個匹配執行哪個。

[root@web01 ~]

# cat /etc/nginx/conf.d/url.oldxu.com.conf

server

location /2.html

location /3.html

}http--https場景下:

permanent:狀態碼301,永久跳轉。 新跳轉的**有排名,舊**排名會被清空。 1.html(排名會被清空) 2.html(有排名)

redirect: 狀態碼302,臨時跳轉。 舊**排名無影響,新**沒有排名。 1.html(不影響) 2.html(沒有排名)

)#rewrite跳轉

/404.life/ 錯誤頁面模板

[root@web01 error_page]

# cat /etc/nginx/conf.d/url.oldxu.com.conf

server

#碰到403 404 502 -->tempdown,tempdown內部重定向

error_page 403 404 502 = @tempdown;

location @tempdown

}

[root@web01 error_page]

# cat /etc/nginx/conf.d/url.oldxu.com.conf

server

#判斷如果ip變數判斷是0,我們直接進入維護頁面。if(

$ip = 0)

location /

}

方式二:

[root@web01 error_page]

# cat /etc/nginx/conf.d/url.oldxu.com.conf

server

location /error_page

error_page 403 = @temp;

location @temp

}

需求8: 公司**後台/admin,只允許公司的出口公網ip可以訪問( 10.0.0.1 ),其他的ip訪問全部返回500,或直接跳轉至首頁。

[root@web01 error_page]

# cat /etc/nginx/conf.d/url.oldxu.com.conf

server

location /admin

#判斷ip變數為0的,直接500拒絕。if(

$ip = 0)

}}

ant 個人筆記

ant 命令想關屬性 buildfile file f 使用指定的構建檔案 projecthelp 獲得專案的資訊 ant構建檔案中想關屬性及用法 dir 資料夾路徑 fileset 檔案集 path 路徑 basedir 專案基目錄的絕對路徑,其他相對路徑都是由他解析而出的 depends inp...

Github 個人筆記

其實預設pull的操作就是乙個分支的merge操作 egit中預設的pull操作是fetch merge,如果要用rebase,可以分開操作。先執行fetch更新remote tracking,再執行rebase進行合併。或者修改pull的預設操作,在.git config檔案中配置.分布式版本控制...

JAVA個人筆記

時間 2015 12 15 目標 readresolve 記錄原因 深入學習單例模式的時候遇到 簡單了解 通過可序列化的工具,我們可以將乙個單例的例項物件寫到磁碟,然後再讀回來,從而有效地獲得乙個例項。即使建構函式是私有的,可序列化工具依然可以通過特殊的途徑去建立類的乙個新的例項。序列化操作提供了乙...