mod_rewrite: перенаправление в кеш или скрипт - PullRequest
0 голосов
/ 15 февраля 2012

У меня возникли некоторые проблемы с моей конфигурацией mod_rewrite, для решения "кеша", над которым я работаю.У меня есть каталог под названием «кэш» с скомпилированными файлами HTML.У меня также есть файл index.php, который обрабатывает все запросы.

В настоящий момент все запросы переписываются в файл index.php, например: "/ article" => index.php? Q = article.

Но теперь я хочу переписать его в "cache / article / index.html", если он существует, или просто откатиться назад и переписать в скрипт index.php.

Я испортилнемного переписать, но я не могу заставить его работать.Код перезаписи теперь выглядит так (без кеша):

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

</IfModule>

Заранее спасибо:)

1 Ответ

1 голос
/ 15 февраля 2012

Попробуйте добавить следующее в файл .htaccess в корневом каталоге вашего сайта.

RewriteEngine on
RewriteBase / 

#if the index.html exists in the cache
RewriteCond %{DOCUMENT_ROOT}/cache%{REQUEST_URI}/index.html -f [NC] 
#then display it
RewriteRule ^ cache%{REQUEST_URI}/index.html [L]

#other existing rules go here
...