对于我正在处理的“缓存”解决方案,我的mod_rewrite配置遇到了一些麻烦。我有一个名为“cache”的目录,其中包含已编译的html文件。我还有一个index.php文件来处理所有请求。
现在所有请求都被重写为index.php文件,如:“/ articles”=>的index.php?Q =文章。
但是现在我希望它重写为“cache / articles / 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>
提前致谢:)
答案 0 :(得分:1)
尝试将以下内容添加到站点根目录中的.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