| 
                         15.域名跳转 server { listen      80; server_name  jump.linuxidc.com; index index.html index.htm index.php; root  /opt/lampp/htdocs/www; rewrite ^/ http://www.linuxidc.com/; access_log  off; } 
16.多域名转向 server_name  www.linuxidc.comwww.linuxidc.net; index index.html index.htm index.php; root  /opt/lampp/htdocs; if ($host ~ "linuxidc.net") { rewrite ^(.*) http://www.linuxidc.com$1permanent; } 
六.nginx全局变量 arg_PARAMETER    #这个变量包含GET请求中,如果有变量PARAMETER时的值。 args                    #这个变量等于请求行中(GET请求)的参数,如:foo=123&bar=blahblah; binary_remote_addr #二进制的客户地址。 body_bytes_sent    #响应时送出的body字节数数量。即使连接中断,这个数据也是精确的。 content_length    #请求头中的Content-length字段。 content_type      #请求头中的Content-Type字段。 cookie_COOKIE    #cookie COOKIE变量的值 document_root    #当前请求在root指令中指定的值。 document_uri      #与uri相同。 host                #请求主机头字段,否则为服务器名称。 hostname          #Set to themachine’s hostname as returned by gethostname http_HEADER is_args              #如果有args参数,这个变量等于”?”,否则等于”",空值。 http_user_agent    #客户端agent信息 http_cookie          #客户端cookie信息 limit_rate            #这个变量可以限制连接速率。 query_string          #与args相同。 request_body_file  #客户端请求主体信息的临时文件名。 request_method    #客户端请求的动作,通常为GET或POST。 remote_addr          #客户端的IP地址。 remote_port          #客户端的端口。 remote_user          #已经经过Auth Basic Module验证的用户名。 request_completion #如果请求结束,设置为OK. 当请求未结束或如果该请求不是请求链串的最后一个时,为空(Empty)。 request_method    #GET或POST request_filename  #当前请求的文件路径,由root或alias指令与URI请求生成。 request_uri          #包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。不能修改。 scheme                #HTTP方法(如http,https)。 server_protocol      #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。 server_addr          #服务器地址,在完成一次系统调用后可以确定这个值。 server_name        #服务器名称。 server_port          #请求到达服务器的端口号。 
七.Apache和Nginx规则的对应关系 Apache的RewriteCond对应Nginx的if Apache的RewriteRule对应Nginx的rewrite Apache的[R]对应Nginx的redirect Apache的[P]对应Nginx的last Apache的[R,L]对应Nginx的redirect Apache的[P,L]对应Nginx的last Apache的[PT,L]对应Nginx的last 
 例如:允许指定的域名访问本站,其他的域名一律转向www.linuxidc.net Apache: RewriteCond %{HTTP_HOST} !^(.*?).aaa.com$[NC] RewriteCond %{HTTP_HOST} !^localhost$  RewriteCond %{HTTP_HOST}!^192.168.0.(.*?)$ RewriteRule ^/(.*)$ http://www.linuxidc.net[R,L] 
 Nginx: if( $host ~* ^(.*).aaa.com$ ) { set $allowHost ‘1’; } if( $host ~* ^localhost ) { set $allowHost ‘1’; } if( $host ~* ^192.168.1.(.*?)$ ) { set $allowHost ‘1’; } if( $allowHost !~ ‘1’ ) { rewrite ^/(.*)$ http://www.linuxidc.netredirect ; } 
? 
常见nginx rewrite实例 
1、php常见框架重定向,tag功能重定向 
location / { ? root   /app/html; ? rewrite ^/tag/([a-z0-9]+)/$ /index.php?m=tag&c=tag&id=$1 last; ? rewrite ^/(.*) /index.php?_ROUTE_=$1 last; ? index  index.html index.php;   }                         (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |