http core module是Ngnix提供WEB服務的最核心模塊,默認被開啓。本篇文章將講述該模塊的一些配置
配置文件結構:
http { server {// virtual website location{ } } server{ location{ } } }
Location modifer 匹配規則
匹配優先級與順序: = --> No modifer --> ^~ modifier --> ~ or ~* modifier --> no modifier
= 字符串精準匹配,不支持正則
server {
server_name website.com;
location = /abcd {
[…]
}
}
http://website.com/abcd (exact match 精確匹配)
http://website.com/ABCD (如果OS忽略大小寫,則可以匹配)
http://website.com/abcd?param1¶m2(匹配,忽略query參數)
http://website.com/abcd/ (不匹配,多了一個slash斜槓)
http://website.com/abcde (不匹配)
No modifer :begin with the specifed pattern. You may not use regular expressions
server {
server_name website.com;
location /abcd {
[…]
}
}
http://website.com/abcd (exact match 精確匹配)
http://website.com/ABCD (如果OS忽略大小寫,則可以匹配)
http://website.com/abcd?param1¶m2(匹配,忽略query參數)
http://website.com/abcd/ (匹配)
http://website.com/abcde (匹配)
The ~ modifer :case-sensitive 匹配正則
server {
server_name website.com;
location ~ ^/abcd$ {
[…]
}
}
http://website.com/abcd (exact match 精確匹配)
http://website.com/ABCD (不匹配)
http://website.com/abcd?param1¶m2(匹配,忽略query參數)
http://website.com/abcd/ (不匹配,多了一個斜槓)
http://website.com/abcde (不匹配)
The ~* modifer :case-insensitive 匹配正則
server {
server_name website.com;
location ~* ^/abcd$ {
[…]
}
}
http://website.com/abcd (exact match 精確匹配)
http://website.com/ABCD (匹配)
http://website.com/abcd?param1¶m2(匹配,忽略query參數)
http://website.com/abcd/ (不匹配,多了一個斜槓)
http://website.com/abcde (不匹配)
The ^~ modifer:if the pattern is matched, Nginx stops searching for other patterns
The @ modifer : 定義內部location塊,可以通過內部跳轉訪問