Nginx批量添加二級子域名完美方案
對于批量添加虛擬主機(jī)的需求,Apache 有 vhost_alias 模塊幫忙。Nginx 呢?其實神馬都不需要,同樣可以實現(xiàn) Nginx 二級域名匹配子文件夾,且不匹配 "www",但可以匹配包含 "www" 的子域名。
首先看看目前網(wǎng)上搜到的方法。
if ( $host ~* (.*)\.(.*)\.(.*)) {
set $subdomain $1;
}
location / {
root html/$subdomain;
index index.html index.php;
}
上面的 "~*" 表示不區(qū)分大小寫,然后就是匹配任何 "xxx.xxx.xxx" 類型的網(wǎng)址,最后就悲劇了,不僅匹配了 "www.yourdomian.com" 甚至連 "我艸.$!@.com" 這類網(wǎng)址也匹配了。
嗯,沒錯!這是一個正則問題。建議先閱讀 《正則表達(dá)式30分鐘入門教程》、《Nginx Location 指令基礎(chǔ)》,然后往下看...
完美解決方案
if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {
set $subdomain /$1;
}
location / {
root /home/wangyan/public_html$subdomain;
index index.html index.php;
}
效果,下圖可以看到,已經(jīng)實現(xiàn)了,不匹配 "www" 但可以匹配包含 "www" 的子域名。

使用方法,請將上面代碼復(fù)制到 server {} 標(biāo)簽中,然后重啟nginx即可。
相關(guān)文章
安裝Windows版nginx及部署前端代碼并解決刷新出現(xiàn)404問題
這篇文章主要給大家介紹了關(guān)于安裝Windows版nginx及部署前端代碼解決刷新出現(xiàn)404問題的相關(guān)資料,使用nginx部署前端項目是一篇非常詳細(xì)的教程,旨在幫助初學(xué)者使用Nginx來部署前端項目,需要的朋友可以參考下2023-12-12
在Nginx服務(wù)器上安裝SSL證書完成HTTPS請求的步驟詳解(springboot項目)
這篇文章主要介紹了在Nginx服務(wù)器上安裝SSL證書完成HTTPS請求(springboot項目),首先需要下載證書到本地接著在Nginx獨立服務(wù)器上安裝證書,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-04-04
Nginx啟動成功卻無法訪問網(wǎng)頁的問題分析和解決方案(完整的排除方案)
我是用的阿里云的服務(wù)器,所以我的問題就在于阿里云服務(wù)器必須單獨開端口,在找到這個問題之前,我已經(jīng)把所有能試的方法試過了一遍都沒有問題,在增加端口之后直接成功了,如果你也遇到了這樣的問題,就和我一起排除吧2023-12-12
使用Nginx搭建圖片服務(wù)器(windows環(huán)境下)
這篇文章主要介紹了使用Nginx搭建圖片服務(wù)器(windows環(huán)境下),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

