nginx 常用指令 try_files allow root alias的使用
正則匹配條件
~為區(qū)分大小寫(xiě)匹配~*為不區(qū)分大小寫(xiě)匹配!~和!~*分別為區(qū)分大小寫(xiě)不匹配及不區(qū)分大小寫(xiě)不匹配
文件及目錄匹配,其中:
-f和!-f用來(lái)判斷是否存在文件-d和!-d用來(lái)判斷是否存在目錄-e和!-e用來(lái)判斷是否存在文件或目錄-x和!-x用來(lái)判斷文件是否可執(zhí)行
flag標(biāo)記
last相當(dāng)于Apache里的[L]標(biāo)記,表示完成rewritebreak終止匹配, 不再匹配后面的規(guī)則redirect返回302臨時(shí)重定向 地址欄會(huì)顯示跳轉(zhuǎn)后的地址permanent返回301永久重定向 地址欄會(huì)顯示跳轉(zhuǎn)后的地址
變量名 功能 $host 請(qǐng)求信息中的 Host,如果請(qǐng)求中沒(méi)有Host行,則等于設(shè)置的服務(wù)器名 $request_method 客戶端請(qǐng)求類型,如 GET、 POST $remote_addr 客戶端的 IP地址 $args 請(qǐng)求中的參數(shù) $content_length 請(qǐng)求頭中的 Content-length字段 $content_type 請(qǐng)求頭中的 Content-Type字段 $http_user_agent 客戶端agent信息 $http_cookie 客戶端cookie信息 $remote_addr 客戶端的IP地址 $remote_port 客戶端的端口 $server_protocol 請(qǐng)求使用的協(xié)議,如HTTP/1.0、·HTTP/1.1 $server_addr 服務(wù)器地址 $server_name 服務(wù)器名稱 $server_port 服務(wù)器的端口號(hào) $document_root 針對(duì)當(dāng)前請(qǐng)求的根路徑設(shè)置值 $uri 請(qǐng)求的URI,可能和最初的值有不同,比如經(jīng)過(guò)重定向之類的 $document_uri 與$uri相同 $limit_rate 對(duì)連接速率的限制 $request_uri 請(qǐng)求的URI,帶查詢字符串 $query_string 與$args相同 $scheme 所用的協(xié)議,http或者是https
root和alias
指令使用
location /i/ {
root /data/w3;
# 為請(qǐng)求設(shè)置根目錄
}
# 訪問(wèn) /i/test.jpg 實(shí)際查找的路徑為 /data/w3/i/test.jpg
location /i/ {
alias /data/w3/;
# 為請(qǐng)求設(shè)置指定位置的替換
}
# 訪問(wèn) /i/test.jpg 實(shí)際查找的路徑為 /data/w3/test.jpg
root指定目錄,路徑為 root + $uri
alias指定目錄 路徑為 alias + 資源名
其它區(qū)別
alias 只能作用在location中,而root可以存在server、http和location中。
alias 后面必須要用 “/” 結(jié)束,否則會(huì)找不到文件,而 root 則對(duì) “/” 可有可無(wú)。
如果別名是在用正則表達(dá)式定義的位置中使用的,那么這種正則表達(dá)式應(yīng)該包含捕獲,別名應(yīng)該引用這些捕獲 ,例如:
location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ { alias /data/w3/images/$1; }能用root實(shí)現(xiàn)的不要用alias
allow和deny
指令使用
訪問(wèn)控制指令
# 訪問(wèn)控制
location / {
allow xx.xx.xx.xx;
allow 10.1.0.0/16;
allow 192.0.0.0/8;
allow 172.0.1.0/24;
# allow all;
deny all;
}
# 執(zhí)行時(shí) 從上到下,匹配到就跳出
try_files
try_files指令說(shuō)明
try_files指令
語(yǔ)法:try_files file ... uri 或 try_files file ... = code
默認(rèn)值:無(wú)
作用域:server location
其作用是按順序檢查文件是否存在,返回第一個(gè)找到的文件或文件夾(結(jié)尾加斜線表示為文件夾),如果所有的文件或文件夾都找不到,會(huì)進(jìn)行一個(gè)內(nèi)部重定向到最后一個(gè)參數(shù)。
需要注意的是,只有最后一個(gè)參數(shù)可以引起一個(gè)內(nèi)部重定向,之前的參數(shù)只設(shè)置內(nèi)部URI的指向。最后一個(gè)參數(shù)是回退URI且必須存在,否則會(huì)出現(xiàn)內(nèi)部500錯(cuò)誤。命名的location也可以使用在最后一個(gè)參數(shù)中。與rewrite指令不同,如果回退URI不是命名的location那么$args不會(huì)自動(dòng)保留,如果你想保留$args,則必須明確聲明。
try_files $uri $uri/ /index.php$is_args$args;
到此這篇關(guān)于nginx 常用指令 try_files allow root alias的使用的文章就介紹到這了,更多相關(guān)nginx try_files allow root alias內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx中fastcgi_cache實(shí)現(xiàn)PHP頁(yè)面緩存加速
Nginx使用cgi_cache緩存PHP生成的動(dòng)態(tài)頁(yè)面,降低后端負(fù)載并提升響應(yīng)速度,配置方案包括緩存控制、自定義緩存時(shí)間、緩存清理等等關(guān)鍵響應(yīng)頭,感興趣的可以了解一下2026-04-04
使Nginx服務(wù)器支持中文URL的相關(guān)配置詳解
這篇文章主要介紹了使Nginx服務(wù)器支持中文URL的相關(guān)配置方法,搜索引擎方面Google目前對(duì)中文URL的支持度也很好,需要的朋友可以參考下2016-01-01
Nginx配置為HTTPS的完整步驟(支持?SSL/TLS?加密)
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,是運(yùn)維中十分常用的中間件,HTTPS協(xié)議簡(jiǎn)單來(lái)說(shuō)就是HTTP協(xié)議和SSL/TLS協(xié)議的組合,這篇文章主要介紹了Nginx配置為HTTPS(支持?SSL/TLS?加密)的相關(guān)資料,需要的朋友可以參考下2025-11-11
部署Kibana及nginx代理訪問(wèn)環(huán)境方式
在elk-node03節(jié)點(diǎn)上部署Kibana并使用Nginx進(jìn)行代理訪問(wèn)和權(quán)限控制,配置多個(gè)端口的Kibana,每個(gè)系統(tǒng)單獨(dú)開(kāi)一個(gè)端口,并通過(guò)Nginx做代理訪問(wèn)配置,每個(gè)系統(tǒng)的業(yè)務(wù)日志在對(duì)應(yīng)的端口Kibana界面展示,配置Nginx反向代理及訪問(wèn)驗(yàn)證,包括設(shè)置虛擬主機(jī)和驗(yàn)證文件2024-11-11

