欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx 常用指令 try_files allow root alias的使用

 更新時(shí)間:2024年08月27日 09:57:22   作者:Qazink  
本文主要介紹了nginx 常用指令 try_files allow root alias的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

正則匹配條件

  • ~ 為區(qū)分大小寫匹配
  • ~* 為不區(qū)分大小寫匹配
  • !~!~*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配

文件及目錄匹配,其中:

  • -f!-f用來判斷是否存在文件
  • -d!-d用來判斷是否存在目錄
  • -e!-e用來判斷是否存在文件或目錄
  • -x!-x用來判斷文件是否可執(zhí)行

flag標(biāo)記

  • last 相當(dāng)于Apache里的[L]標(biāo)記,表示完成rewrite
  • break 終止匹配, 不再匹配后面的規(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)文章

最新評(píng)論