zoukankan      html  css  js  c++  java
  • nginx 的 content阶段的root指令与alias指令

    root 与alias指令

    Syntax: alias path;
    Default: —
    Context: location
    
    
    Syntax: root path;
    Default: root html; 
    Context: http, server, location, if in location
    

     功能:将URI映射为文件路径,以静态文件返回

       差别:root 会将完整的URI映射进文件路径中;alias只会将location后面的文件映射进location中

    示例

    server {
    	server_name root.com;
    	error_log logs/root_error.log info;
    	access_log logs/root.log main;
    	location /root {
    		root html; #表示映射本地html/root
    	}
    	location /alias {
    		alias html; #访问root.com/alias 命中本地/data/web/html
    	}
    	location ~ /root/(w+.txt) {
    		root html/first/$1;#访问这个root.com/root/1.txt,命中本地的/data/web/html/first/1.txt/root/1.txt
    	}
    	location ~ /alias/(w+.txt) {
    		alias html/first/$1; # 访问这个curl root.com/alias/1.txt,命中本地的/data/web/html/first/1.txt
    	}
    }
    

      日志

    [root@python vhast]# curl root.com/root
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.15.9</center>
    </body>
    </html>
    [root@python vhast]# curl root.com/root/1.txt
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.15.9</center>
    </body>
    </html>
    [root@python vhast]# curl root.com/alias
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body>
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>nginx/1.15.9</center>
    </body>
    </html>
    [root@python vhast]# curl root.com/alias/1.txt
    first
    
    
    
    
    日志
    192.168.183.4 - - [10/Jul/2019:16:25:01 +0800] "GET /root HTTP/1.1" 404 153 "-" "curl/7.29.0" "-" "/root" "-" "/data/web/html" "/data/web/html/root"
    192.168.183.4 - - [10/Jul/2019:16:30:16 +0800] "GET /root/1.txt HTTP/1.1" 404 153 "-" "curl/7.29.0" "-" "/root/1.txt" "-" "/data/web/html/first/1.txt" "/data/web/html/first/1.txt/root/1.txt"
    192.168.183.4 - - [10/Jul/2019:16:31:51 +0800] "GET /alias HTTP/1.1" 301 169 "-" "curl/7.29.0" "-" "/alias" "-" "/data/web/html" "/data/web/html"
    192.168.183.4 - - [10/Jul/2019:16:32:09 +0800] "GET /alias/1.txt HTTP/1.1" 200 6 "-" "curl/7.29.0" "-" "/alias/1.txt" "-" "/data/web/html/first/1.txt" "/data/web/html/first/1.txt
    

      三个变量

    request_filename :待访问文件的完整路径
    document_root : 由URI和root/alis规则生成的文件夹路径
    realpath_root:将document_root中的软连接等换成真实路径
    [root@python vhast]# cat root.conf 
    server {
    	server_name root.com;
    	error_log logs/root_error.log info;
    	access_log logs/root.log main;
    	location /root {
    		root html; #表示映射本地html/root
    	}
    	location /alias {
    		alias html; #访问root.com/alias 命中本地/data/web/html
    	}
    	location ~ /root/(w+.txt) {
    		root html/first/$1;#访问这个root.com/root/1.txt,命中本地的/data/web/html/first/1.txt/root/1.txt
    	}
    	location ~ /alias/(w+.txt) {
    		alias html/first/$1; # 访问这个curl root.com/alias/1.txt,命中本地的/data/web/html/first/1.txt
    	}
    	location /RealPath/ {
    		alias html/realpath/;
    		return 200 "$request_filename:$document_root:$realpath_root!
    ";
    	}
    }
    

      

    测试
    root@python vhast]# curl root.com/RealPath/
    /data/web/html/realpath/:/data/web/html/realpath/:!
    

      

     
     
    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    KMP
    KMP 算法详解
    快慢指针-链表环入口问题
    算法题——只出现一次的数字
    DECODE 与CASE WHEN 的比较
    Mybatis动态传入tableName--非预编译(STATEMENT)
    mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法。
    15.linux iptables防火墙规则vsftp服务
    14.LAMP服务 Linux Apache Mysql Php和防护机制 xinetd、tcp wapper
    13.mysql数据库
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/11170846.html
Copyright © 2011-2022 走看看