Nginx批量添加二級子域名完美方案
對于批量添加虛擬主機的需求,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)址也匹配了。
嗯,沒錯!這是一個正則問題。建議先閱讀 《正則表達式30分鐘入門教程》、《Nginx Location 指令基礎》,然后往下看...
完美解決方案
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" 的子域名。

使用方法,請將上面代碼復制到 server {} 標簽中,然后重啟nginx即可。
相關文章
Nginx服務器中限制連接數(shù)與限制請求的模塊配置教程
這篇文章主要介紹了Nginx服務器中限制連接數(shù)與限制請求的模塊配置教程,分別為limit conn模塊與limit req模塊的相關用法講解,需要的朋友可以參考下2016-01-01
nginx使用nginx-rtmp-module模塊實現(xiàn)直播間功能
做的過程出現(xiàn)很多問題,環(huán)境其實就需要nginx就可以,然后就是在播放的問題,m3u8的格式,mac直接訪問就支持,蘋果系統(tǒng)原生H5支持m3u8,還有就是手機直接訪問也支持!但是其他其他系統(tǒng)PC端不支持,嘗試了好多都不行,最后終于找到了一個支持m3u8格式H5播放2017-10-10
nginx訪問日志并刪除指定天數(shù)前的日志記錄配置方法
這篇文章主要介紹了nginx訪問日志并刪除指定天數(shù)前的日志記錄配置方法,需要的朋友可以參考下2014-03-03
利用nginx實現(xiàn)動靜分離的負載均衡集群實戰(zhàn)教程
這篇文章介紹了利用nginx實現(xiàn)動靜分離的負載均衡集群實戰(zhàn),本次用到的操作系統(tǒng)及服務,本次實驗一共需要3臺服務器,一臺nginx做為負載均衡分發(fā)器和動靜分離的分發(fā)器,兩臺apache做為后端服務器,使用nginx實現(xiàn)兩臺apache服務器的負載均衡和動靜分離,需要的朋友可以參考下2023-03-03
Nginx服務器中l(wèi)ocation配置的一些基本要點解析
這篇文章主要介紹了Nginx服務器中l(wèi)ocation配置的一些基本要點解析,特別對管理以及查找匹配作出了詳細的講解,需要的朋友可以參考下2015-12-12

