nginx配置location項的URL匹配規則


Localtion URL的正則匹配規則

示例

location / {
                        try_files $uri @apache;
                        }
#所有的路徑都是/開頭,表示匹配所有
                location @apache {
                        internal;
                        proxy_pass http://127.0.0.1:1080;
                        include proxy.conf;
                        }
#url重定向至@apache規則
                location ~ .*\.(php|php5)?$
                        {
                                proxy_pass http://127.0.0.1:1080;
                                include proxy.conf;
                        }
#匹配所有以.php或者.php5的URL, ~表示區分大小寫
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }
#匹配以.gif,.jpg,.jpeg,.png,.bmp,.swf結尾的url
                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }
#匹配以.js或者.css結尾的url
 
原文:https://blog.csdn.net/wangchuang227/article/details/80474677?utm_source=copy 

 

匹配的優先級順序

(localtion =) > (localtion完整url) > (localtion ^~) > (localtion ~,~*) > (lcoaltion部分起始路徑) > (/)

  • = 表示精確匹配
  • ^~ 表示指定的路徑開頭
  • ~ 表示區分大小寫的正則匹配
  • ~* 表示不區分大小寫的正則匹配
  • / 通用匹配,所有的URL都是以此為開頭

使用建議

localtion = / {
    proxy_pass http://127.0.0.1:1080/index.php;
}
#匹配根路徑
localtion ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
    root /web/static/;
}
#匹配所有靜態文件
localtion / {
    proxy_pass http://127.0.0.1:1080/index.php;
}
#匹配所有的路徑

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM