/ 中存储网

Nginx Rewrite和Redirect模块配置方法说明

2013-10-27 21:29:01 来源:kejihao

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;

}

........................

}