nginx 常用指令 try_files allow root alias的使用
正則匹配條件
~
為區(qū)分大小寫匹配~*
為不區(qū)分大小寫匹配!~
和!~*
分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配
文件及目錄匹配,其中:
-f
和!-f
用來判斷是否存在文件-d
和!-d
用來判斷是否存在目錄-e
和!-e
用來判斷是否存在文件或目錄-x
和!-x
用來判斷文件是否可執(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)求中沒有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)過重定向之類的 $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è)置根目錄 } # 訪問 /i/test.jpg 實(shí)際查找的路徑為 /data/w3/i/test.jpg location /i/ { alias /data/w3/; # 為請(qǐng)求設(shè)置指定位置的替換 } # 訪問 /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ì) “/” 可有可無。
如果別名是在用正則表達(dá)式定義的位置中使用的,那么這種正則表達(dá)式應(yīng)該包含捕獲,別名應(yīng)該引用這些捕獲 ,例如:
location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ { alias /data/w3/images/$1; }
能用root實(shí)現(xiàn)的不要用alias
allow和deny
指令使用
訪問控制指令
# 訪問控制 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指令說明
try_files指令
語法:try_files file ... uri 或 try_files file ... = code
默認(rèn)值:無
作用域: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轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)的實(shí)現(xiàn)示例
本文主要介紹了配置nginx轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)的實(shí)現(xiàn)示例,通過nginx配置代理實(shí)現(xiàn)內(nèi)網(wǎng)對(duì)外網(wǎng)接口數(shù)據(jù)的獲取,涉及nginx安裝、配置SSL、日志設(shè)置和錯(cuò)誤排查,感興趣的可以了解一下2024-10-10nginx配置PC站手機(jī)站分離實(shí)現(xiàn)重定向
這篇文章主要介紹了nginx配置PC站手機(jī)站分離實(shí)現(xiàn)重定向,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03nginx設(shè)置上傳目錄無執(zhí)行權(quán)限的方法
在windows+iis下,可以設(shè)置上傳目錄,類似:upload,uploadfile,attachments,這樣的目錄下面無腳本執(zhí)行權(quán)限,從而防止非法用戶上傳腳本得到webshell2010-11-11nginx利用ctx實(shí)現(xiàn)數(shù)據(jù)共享、修改上下文功能
這篇文章主要給大家介紹了關(guān)于nginx利用ctx實(shí)現(xiàn)數(shù)據(jù)共享、修改上下文功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索
這篇文章主要介紹了Nginx緩存在服務(wù)端 代理和客戶端的區(qū)別深入探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10nginx安裝圖解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了nginx安裝的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08