AVS30 程式分析1
一、关于Rewrite的分析
AVS默认推荐使用Apache环境运行,因为程序中自带.htaccess文件,内容如下:
#如果服务器报500错误注释这2行 Options -Indexes Options +FollowSymLinks #反注释下面几行,如果你想使用图片缓存 #<IfModule mod_expires.c> # ExpiresActive On # ExpiresDefault A1209600 # ExpiresByType text/html A1 #</IfModule> # Uncomment following lines if Apache doesnt support MultiViews! <IfModule mod_rewrite.c> RewriteEngine On # Uncomment the 2 lines below if you are using www.domain.com # as the baseurl for the site and users access your site # via domain.com (THIS IS REQUIRED FOR JQUERY TO WORK) #如果访问的不带www的域名则跳转到带www的域名 #e.g.: baidu.com => www.baidu.com RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f #如果请求的不是文件 RewriteCond %{REQUEST_FILENAME} !-d #如果请求的不是目录 RewriteRule .* loader.php [L,QSA] #重写到loader.php处理请求 </IfModule>
对应的Nginx规则:
location / { #-f 判断是否文件 #-d 判断是否目录 #-e 判断是否文件或目录 if (!-e $request_filename){ rewrite ^(.*)$ /loader.php last; } }
如果配置中存在N多个location,last匹配后还会继续循环匹配,而break则立即终止匹配。
参考文章:Nginx Rewrite研究笔记 nginx中的break与last指令区别
<?php //die('Only enable this script if you dont have support for MultiViews'); $relative = ''; $loaders = array( 'ajax' => 1, 'album' => 1, 'albums' => 1, 'blog' => 1, 'blogs' => 1, 'captcha' => 1, 'categories' => 1, 'community' => 1, 'confirm' => 1, 'error' => 1, 'feedback' => 1, 'feeds' => 1, 'game' => 1, 'games' => 1, 'index' => 1, 'invite' => 1, 'loader' => 1, 'login' => 1, 'logout' => 1, 'lost' => 1, 'mail' => 1, 'notice' => 1, 'notices' => 1, 'photo' => 1, 'requests' => 1, 'search' => 1, 'signup' => 1, 'static' => 1, 'stream' => 1, 'upload' => 1, 'user' => 1, 'users' => 1, 'video' => 1, 'videos' => 1, 'edit' => 1 ); $query = ( isset($_SERVER['QUERY_STRING']) ) ? $_SERVER['QUERY_STRING'] : NULL; $request = str_replace($relative, '', $_SERVER['REQUEST_URI']); $request = str_replace('?' .$query, '', $request); $request = explode('/', trim($request, '/')); if (isset($request['0'])) { $page = $request['0']; if (isset($loaders[$page])) { require $page. '.php'; } else { header('HTTP/1.0 404 Not Found'); die(); } } else { header('HTTP/1.0 404 Not Found'); die(); }
这段代码就是检测/xxx允许访问的页面,然后访问对应的.php
eg: http://www.xxx.com/video实际上访问的是/video.php
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了AVS30 程序分析1,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

想了解更多關於開源的內容,請造訪:51CTO鴻蒙開發者社群https://ost.51cto.com運行環境DAYU200:4.0.10.16SDK:4.0.10.15IDE:4.0.600一、建立應用程式點擊File- >newFile->CreateProgect。選擇模版:【OpenHarmony】EmptyAbility:填寫項目名,shici,應用包名com.nut.shici,應用儲存位置XXX(不要有中文,特殊字符,空格)。 CompileSDK10,Model:Stage。 Device

request的中文意思是“請求”,是php中的一個全域變量,是一個包含了“$_POST”、“$_GET”和“$_COOKIE”的數組。 「$_REQUEST」變數可以取得POST或GET方式提交的資料、COOKIE資訊。

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

Python3.x中如何使用urllib.request.urlopen()函數發送GET請求在網路程式設計中,我們經常需要透過發送HTTP請求來取得遠端伺服器的資料。在Python中,我們可以使用urllib模組中的urllib.request.urlopen()函數來傳送HTTP請求,並取得伺服器回傳的回應。本文將介紹如何使用

comcn和com的區別:1、comcn和com在含義等方面有區別,在訪問速度上沒有區別;2、comcn屬於國際域名,是全球通用頂級域名,供商業機構使用,而cn是中國的公司域名,國內商業機構,國內域名,必須企業才可以備案;3、搜尋的優先順序是cn先會去搜尋.cn,找到.cn伺服器後,再由.cn伺服器搜尋.com;4、cn由cnnic中國網路中心管理,com的管理機構在國外。

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:

PHP中的Request物件是用來處理客戶端傳送到伺服器的HTTP請求的物件。透過Request對象,我們可以取得客戶端的請求訊息,例如請求方法、請求頭資訊、請求參數等,從而實現對請求的處理和回應。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全域變數來取得要求的信息,但是這些變數並不是對象,而是陣列。為了更靈活和方便地處理請求訊息,可
