nginx sever_name正則


nginx server_name 規則:

1.確切的server_name匹配

例如:

server {
    listen       80;
    server_name  www.luwen.cc luwen.cc;
    ...
}

2.以*通配符開始的最長字符串

server {
    listen       80;
    server_name  *.luwen.cc;
    ...
}

3.以*通配符結束的最長字符串

server {
    listen       80;
    server_name  www.*;
    ...
}

這兩條有兩個特別要注意的事項:

 通配符名字只可以在名字的起始處或結尾處包含一個星號,並且星號與其他字符之間用點分隔。所以,“www.*.luwen.cc”和“w*.luwen.cc”都是非法的。

4.匹配正則表達式

 

server {
    listen       80;
    server_name  ~^(.+)-www\.luwen\.cc$;
    ...
}

 

 

 

server_name正則表達式應用:

    server_name指令一項很實用的功能便是可以在使用正則表達式的捕獲功能.nginx使用的正則表達式兼容PCRE。為了使用正則表達式,虛擬主機名必須以波浪線“~”起始否則該名字會被認為是個確切的名字:

如上4

    如果表達式含星號,則會被認為是個通配符名字(而且很可能是一個非法的通配符名字)。不要忘記設置“^”和“$”錨點,語法上它們不是必須的,但是邏輯上是的。同時需要注意的是,域  名中的點“.”需要用反斜線“\”轉義。含有“{”和“}”的正則表達式需要被引用

如上4

 


免責聲明!

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



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