我想重新编写像http://www.example.com/videos这样的请求,以便Apache从文档根目录中的缓存目录中获取它 我需要两个条件才能实现:
如果不满足上述条件,我想将请求路由到index.php。
我应该在我的.htaccess中加入什么来实现这个目标?
答案 0 :(得分:2)
如果您使用.html
扩展程序创建缓存文件,也许这样的内容对您有用。
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{DOCUMENT_ROOT}/cache/%{REQUEST_URI}\.html -f
RewriteRule .* cache/%{REQUEST_URI}\.html [L]
答案 1 :(得分:1)
尝试以下两条规则:
RewriteEngine On
#forward to cache/<file> if it exists in %{DOCUMENT_ROOT}/cache
RewriteCond %{DOCUMENT_ROOT}/cache/$1 -f
RewriteRule ^([^/.]+)/?$ /cache/$1 [L]
# otherwise forward to /index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/cache/$1 !-f
RewriteRule ^ /index.php [L]