這就用到了變量$document_uri,根據前面所學內容,該變量等價於$uri,其實也等價於location匹配。
示例1:
if ($document_uri ~ "/admin/") { return 403; } 說明:當請求的uri中包含/admin/時,直接返回403. if結構中不支持使用allow和deny。 測試鏈接: 1. www.xxx.com/123/admin/1.html 匹配 2. www.xxx.com/admin123/1.html 不匹配 3. www.xxx.com/admin.php 不匹配
示例2:
if ($document_uri = /admin.php) { return 403; } 說明:請求的uri為/admin.php時返回403狀態碼。 測試鏈接: 1. www.xxx.com/admin.php 匹配 2. www.xxx.com/123/admin.php 不匹配
示例3:
if ($document_uri ~ '/data/|/cache/.*\.php$') { return 403; } 說明:請求的uri包含data或者cache目錄,並且是php時,返回403狀態碼。 測試鏈接: 1. www.xxx.com/data/123.php 匹配 2. www.xxx.com/cache1/123.php 不匹配