nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動(dòng)匹配目錄的方法
nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動(dòng)匹配目錄
用nginx可以實(shí)現(xiàn)虛擬主機(jī)的功能,可以綁定多個(gè)網(wǎng)址。
通常主域名都是寫死在配置里面的,所以要增加匹配時(shí),需要手動(dòng)添加。
基本寫法
最基本的寫法是server{
listen 80;
server_name www.a.com;
root /html/a;
…
}
server{
listen 80;
server_name www.b.com;
root /html/b;
…
}
正則式寫法
域名綁定后,自動(dòng)匹配到相應(yīng)的目錄中,不需要一個(gè)一個(gè)域名去寫配置。
匹配目錄為:html/域名/二級域名,例如www.baidu.com會匹配到baidu.com/www目錄下
server {
listen 80;
# $subdomain 將匹配到二級域名級以上
# $domain 將匹配到一級域名
# $tld 將匹配到根節(jié)點(diǎn)名
server_name ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[a-zA-Z]+)$;
#如果沒有$subdomain,則跳轉(zhuǎn)到www
if ($subdomain = "") {
# set $subdomain "_";
set $subdomain "www";
return 301 $scheme://www.$domain.$tld$request_uri;
}
root /usr/share/nginx/html/${domain}.${tld}/${subdomain};
}
其他
nginx 的匹配順序,搜索一下有很多文章,我就不詳細(xì)說了。
因?yàn)檎齽t表達(dá)式的匹配優(yōu)先級最低,只有當(dāng)其他都匹配不到時(shí)才會進(jìn)行正則表達(dá)式的匹配,所以不用擔(dān)心影響其他的精確匹配。
一般人不會有那么多的域名要匹配,相反,是要屏蔽掉一些惡意的域名指向。
但是測試的時(shí)候,為了不影響正在運(yùn)行的網(wǎng)頁,可以在hosts中添中一條ip 域名記錄,用不存在的域名來測試,這時(shí)候就比較有用了。
總結(jié)
到此這篇關(guān)于nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動(dòng)匹配目錄的文章就介紹到這了,更多相關(guān)nginx正則表達(dá)式泛域名匹配目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI)
- nginx找到默認(rèn)根目錄(root?html)的方法
- nginx如何配置vue項(xiàng)目history的路由模式(非根目錄)
- 通過nginx實(shí)現(xiàn)訪問服務(wù)器指定目錄下圖片資源
- nginx 不同的訪問路徑對應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法
- nginx設(shè)置資源請求目錄的方式詳解
- Nginx安裝完成沒有生成sbin目錄的解決方法
- Nginx本地目錄映射實(shí)現(xiàn)代碼實(shí)例
- 深入理解Nginx中的sites-enabled目錄
相關(guān)文章
Nginx配置網(wǎng)頁轉(zhuǎn)發(fā)的實(shí)現(xiàn)步驟
本文主要介紹了Nginx配置網(wǎng)頁轉(zhuǎn)發(fā)的實(shí)現(xiàn)步驟,實(shí)現(xiàn)將云服務(wù)器的80端口轉(zhuǎn)發(fā)到另一臺服務(wù)器部署的網(wǎng)頁,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
uwsgi+nginx代理Django無法訪問靜態(tài)資源的解決
這篇文章主要介紹了uwsgi+nginx代理Django無法訪問靜態(tài)資源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
使用ngxtop實(shí)時(shí)監(jiān)控Nginx日志文件的示例代碼
在Nginx日志分析領(lǐng)域,ngxtop是一款強(qiáng)大的實(shí)時(shí)監(jiān)控工具,它能夠即時(shí)解析Nginx的訪問日志文件,提供直觀、可定制的實(shí)時(shí)統(tǒng)計(jì)信息,幫助管理員更好地了解服務(wù)器的運(yùn)行狀況和Web流量,本文給大家介紹使用ngxtop實(shí)時(shí)監(jiān)控Nginx日志文件的示例代碼,需要的朋友可以參考下2024-01-01
簡單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法
這篇文章主要介紹了簡單了解Nginx七層負(fù)載均衡的幾種調(diào)度算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
蘋果M1芯片安裝nginx 并且部署vue項(xiàng)目步驟詳解
在本篇文章里小編給大家整理了一篇關(guān)于蘋果M1芯片安裝nginx 并且部署vue項(xiàng)目步驟詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11
Nginx上配置Basic Authorization登錄認(rèn)服務(wù)證的教程
現(xiàn)在我們所使用的包括社交網(wǎng)絡(luò)API等開放平臺授權(quán)獲得用戶的用戶名和密碼一般有兩種認(rèn)證方式,一種是Basic Auth,一種是OAuth,這里我們就來看一下Nginx上配置Basic Authorization登錄認(rèn)服務(wù)證的教程2016-06-06

