Я использую cakephp, и теперь мне нужно сделать внутренний перенаправление на .html, если файл существует в папке с кешем.open .html вместо php с использованием htaccess
Итак, предположим, что есть контроллер CTRL и действие ACT, URL-адрес для него является:
domain.com/ctrl/act
Теперь я хочу, чтобы мой Htaccess, чтобы проверить, есть ли .html внутри Teh кэш-папке с тем же именем контроллера и действием, например:
/cache/ctrl/act.html
если файл существует, просто отправьте его и не трогайте php.
Я получил его для работы, но теперь cakephp не обрабатывается, сервер возвращает ошибку 500.
Не могли бы вы помочь мне в этом. Мне также нужно проверить, есть ли /index.html в cachefolder/ctrl /, потому что ссылки иногда имеют только имя контроллера.
<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