我正在使用cakephp,現在我需要做一個內部重定向到.html,如果文件存在於緩存文件夾內。打開.html而不是php使用htaccess
所以,讓我們說有一個控制器CTRL和動作ACT,它的網址是:
domain.com/ctrl/act
現在,我希望我的htaccess的,以檢查是否有內德一個.html緩存文件夾與控制器的名稱和操作相同,如:
/cache/ctrl/act.html
如果文件存在,只需發送它並不要觸摸php。
我得到它的工作,但現在cakephp沒有被處理,服務器返回500錯誤。
你能幫我解決這個問題嗎?我還需要檢查cachefolder/ctrl /中是否存在/index.html,因爲鏈接有時只有控制器名稱。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI}.html !^/cache
RewriteRule ^(.*)$ cache/$1.html [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
我不認爲讓用戶直接查看緩存中的文件是一個好主意。 – Kai
你是什麼意思? – Jonathan
出於安全原因,您不希望人們能夠直接訪問tmp文件夾中的項目。在Cake中編寫一個頁面會更好,它會讀取並顯示該文件(如果存在)。 – Kai