nginx location

1、location簡介html

一、  location做用nginx

location指令的做用是能夠根據用戶請求的URI來執行不一樣的應用,其實就是根據用戶請求的網站的地址URL匹配,匹配成功即進行相關操做正則表達式

2、vim

location使用的語法例子app

location{=|~|~*|^~}uri{curl

...網站

}url

locationspa

{=|~|~*|^~}code

uri

{....}

指令

匹配標識

匹配的網站網址

匹配URI後要執行的配置段

至關於if判斷,即

http://www.cnblog.com/pyrene/

location/pyrene/ {

do someting

}

若是匹配到pyrene就do someting

location/ / {

do someting

}

若是什麼都沒有匹配到,那麼就去找默認do something

 

~ :用於區分大小寫(大小寫敏感)的匹配
~*:用於不區分大小寫的匹配
~:做用是在常規字符串匹配檢查以後,不作正則表達式的檢查,即,若是最明確的那個字符串匹配location匹配中有此前綴,那麼不作正則表達式的檢查
^~:做用是在常規的字符串匹配檢查以後,不作正則表達式的檢查
= :精確匹配

3、不用URI及特殊字符組合匹配的順序說明

不用RUI及特殊字符組合匹配順序

匹配說明

第一名「location = /{」

精確匹配/

第二名「location ^~/images/ {」

匹配常規字符串,不作正則匹配檢查

第三名 「location ~*\.(gif|jpg|jpeg)$ {」

正則匹配

第四名 「location /documents/{」

匹配常規字符串,若是有正則則優先匹配正則

第五名  「location / {」

全部location都能匹配後的默認匹配

4、配置

一、備份

[root@oldboy extra]# cp www.conf www.conf.pyrene.20170420.bak1

二、配置

[root@oldboy extra]# vim www.conf
    server {
        listen       80;
        server_name  www.cnblogs.co pyrene;
        location / {
            return 401;
            }
        location = / {
            return 402;   
            }
        location /documents/ {
            return 403;
            }
        location ^~ /images/ {
            return 404;
            }
        location ~* \.(gif|jpg|jpeg)$ {
            return 500;
            }
}

三、重啓

[root@oldboy extra]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.8//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.8//conf/nginx.conf test is successful
[root@oldboy extra]# /application/nginx/sbin/nginx -s reload

四、操做

[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co
402
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/index.html
401
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/documents
401
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/images/
404
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/documents/documents.html
403
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/images/1.gif
404
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/ddd/1.gif
500
[root@oldboy extra]# curl -s -o /dev/null -I -w "%{http_code}\n" http://www.cnblogs.co/documents/1.gif
500
相關文章
相關標籤/搜索