nginx 常用指令 try_files allow root alias的使用
正則匹配條件
~
為區(qū)分大小寫匹配~*
為不區(qū)分大小寫匹配!~
和!~*
分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配
文件及目錄匹配,其中:
-f
和!-f
用來判斷是否存在文件-d
和!-d
用來判斷是否存在目錄-e
和!-e
用來判斷是否存在文件或目錄-x
和!-x
用來判斷文件是否可執(zhí)行
flag標記
last
相當于Apache里的[L]標記,表示完成rewritebreak
終止匹配, 不再匹配后面的規(guī)則redirect
返回302臨時重定向 地址欄會顯示跳轉后的地址permanent
返回301永久重定向 地址欄會顯示跳轉后的地址
變量名 功能 $host 請求信息中的 Host,如果請求中沒有Host行,則等于設置的服務器名 $request_method 客戶端請求類型,如 GET、 POST $remote_addr 客戶端的 IP地址 $args 請求中的參數(shù) $content_length 請求頭中的 Content-length字段 $content_type 請求頭中的 Content-Type字段 $http_user_agent 客戶端agent信息 $http_cookie 客戶端cookie信息 $remote_addr 客戶端的IP地址 $remote_port 客戶端的端口 $server_protocol 請求使用的協(xié)議,如HTTP/1.0、·HTTP/1.1 $server_addr 服務器地址 $server_name 服務器名稱 $server_port 服務器的端口號 $document_root 針對當前請求的根路徑設置值 $uri 請求的URI,可能和最初的值有不同,比如經(jīng)過重定向之類的 $document_uri 與$uri相同 $limit_rate 對連接速率的限制 $request_uri 請求的URI,帶查詢字符串 $query_string 與$args相同 $scheme 所用的協(xié)議,http或者是https
root和alias
指令使用
location /i/ { root /data/w3; # 為請求設置根目錄 } # 訪問 /i/test.jpg 實際查找的路徑為 /data/w3/i/test.jpg location /i/ { alias /data/w3/; # 為請求設置指定位置的替換 } # 訪問 /i/test.jpg 實際查找的路徑為 /data/w3/test.jpg
root指定目錄,路徑為 root + $uri
alias指定目錄 路徑為 alias + 資源名
其它區(qū)別
alias 只能作用在location中,而root可以存在server、http和location中。
alias 后面必須要用 “/” 結束,否則會找不到文件,而 root 則對 “/” 可有可無。
如果別名是在用正則表達式定義的位置中使用的,那么這種正則表達式應該包含捕獲,別名應該引用這些捕獲 ,例如:
location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ { alias /data/w3/images/$1; }
能用root實現(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í)行時 從上到下,匹配到就跳出
try_files
try_files指令說明
try_files指令
語法:try_files file ... uri 或 try_files file ... = code
默認值:無
作用域:server location
其作用是按順序檢查文件是否存在,返回第一個找到的文件或文件夾(結尾加斜線表示為文件夾),如果所有的文件或文件夾都找不到,會進行一個內(nèi)部重定向
到最后一個參數(shù)。
需要注意的是,只有最后一個參數(shù)可以引起一個內(nèi)部重定向,之前的參數(shù)只設置內(nèi)部URI的指向。最后一個參數(shù)是回退URI且必須存在,否則會出現(xiàn)內(nèi)部500錯誤。命名的location也可以使用在最后一個參數(shù)中。與rewrite指令不同,如果回退URI不是命名的location那么$args
不會自動保留,如果你想保留$args
,則必須明確聲明。
try_files $uri $uri/ /index.php$is_args$args;
到此這篇關于nginx 常用指令 try_files allow root alias的使用的文章就介紹到這了,更多相關nginx try_files allow root alias內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
配置nginx轉發(fā)內(nèi)網(wǎng)請求到外網(wǎng)的實現(xiàn)示例
本文主要介紹了配置nginx轉發(fā)內(nèi)網(wǎng)請求到外網(wǎng)的實現(xiàn)示例,通過nginx配置代理實現(xiàn)內(nèi)網(wǎng)對外網(wǎng)接口數(shù)據(jù)的獲取,涉及nginx安裝、配置SSL、日志設置和錯誤排查,感興趣的可以了解一下2024-10-10nginx利用ctx實現(xiàn)數(shù)據(jù)共享、修改上下文功能
這篇文章主要給大家介紹了關于nginx利用ctx實現(xiàn)數(shù)據(jù)共享、修改上下文功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01