Nginx Rewrite
1. Nginx Rewrite 基本標記(flags)
last - 基本上都用這個Flag。
※相當於HTTP://www.aliyun.com/zixun/aggregation/14417.html">Apache裡的[L]標記,表示完成rewrite,不再匹配後面的規則
break - 中止Rewirte,不再繼續匹配
redirect - 返回臨時重定向的HTTP狀態302
permanent - 返回永久重定向的HTTP狀態301 ※原有的url支援正則 重寫的url不支援正則
2. 正則運算式匹配,其中:
* ~ 為區分大小寫匹配
* ~* 為不區分大小寫匹配
* !~和!~* 分別為區分大小寫不匹配及不區分大小寫不匹配
3. 檔及目錄匹配,其中:
* -f和!-f用來判斷是否存在檔
* -d和!-d用來判斷是否存在目錄
* -e和!-e用來判斷是否存在檔或目錄
* -x和!-x用來判斷檔是否可執行
3. Nginx 的一些可用的全域變數,可用做條件判斷:
$args
$content_length
$content_type
$document_root
$document_uri
$host
$HTTP_user_agent
$HTTP_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri
Nginx Redirect
將所有ithov.com與netseek.ithov.com功能變數名稱全部自跳轉到HTTP://www.ithov.com
server
{
listen 80;
server_name ithov.com netseek.ithov.com;
index index.html index.php;
root /data/www/wwwroot;
if ($host !~ "^www\.linxtone\.org$") {
rewrite ^(.*) HTTP://www.ithov.com$1 redirect;
}
........................
}