我正在開發一個Web應用程序,所有的圖像請求都由index.php
頁面直接處理。例如,如果對文件image1.png
發出請求,則會將其重定向到index.php
,其中顯示image1.png
文件的詳細信息。PHP:處理動態文件請求
當文件名作爲GET參數傳遞到index.php
文件時,我已經編寫了用於顯示文件細節的代碼。
但我不知道如何捕獲所有的圖像文件請求,並將它們重定向到index.php
,同時通過GET傳遞所請求的文件名作爲參數。
任何幫助將是偉大的。 :)
我正在開發一個Web應用程序,所有的圖像請求都由index.php
頁面直接處理。例如,如果對文件image1.png
發出請求,則會將其重定向到index.php
,其中顯示image1.png
文件的詳細信息。PHP:處理動態文件請求
當文件名作爲GET參數傳遞到index.php
文件時,我已經編寫了用於顯示文件細節的代碼。
但我不知道如何捕獲所有的圖像文件請求,並將它們重定向到index.php
,同時通過GET傳遞所請求的文件名作爲參數。
任何幫助將是偉大的。 :)
嘗試在文檔根目錄下的.htaccess文件如下:
RewriteEngine On
RewriteRule (.+\.png)$ index.php?file=$1 [L]
這內部重寫所有.png
文件index.php
傳遞完整的URL作爲URL參數。 (雖然這主要是排除斜槓前綴您可以手動如果需要的話包括這如?file=/$1
。)
要延長這包括.jpg
文件以及隨後改變RewriteRule
模式:
RewriteRule (.+\.(png|jpg))$ index.php?file=$1 [L]
編輯:路由所有非PHP文件,你可以這樣做:
RewriteCond %{REQUEST_URI} (.*)
RewriteRule !\.php$ index.php?file=%1 [L]
對於所有非PHP文件(請注意否定正則表達式,前綴爲!
),請求被重寫,並將請求的URL傳遞給index.php
。請注意,否定正則表達式不能包含捕獲組,因此需要單獨的條件。
請注意,這包括斜槓前綴(因爲它作爲REQUEST_URI
變量的一部分包含在內),而上面的示例沒有。
你可以編輯帖子並顯示你的代碼嗎? – jilesh
老實說,我不知道如何處理動態請求:( –
你的意思是什麼動態請求? –