Nginx Rewrite
1. Nginx Rewrite 基本标记(flags)
last - 基本上都用这个Flag。
※相当于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;
}
........................
}