我正在我的数据库驱动的网站上实现缓存。 我将缓存文件保存到/ cache / as id.html
我有像http://www.example.com/view/article/id/12338.html
这样的网址现在我需要检查这个12338.html文件是否存在于缓存中。如果它存在,它应该是服务器,否则应该重写为/viewArticle.php?id=12338
所以这就是我需要的:
1)提取身份证号码,例如在这种情况下是12338。
2)检查/cache/id.html是否存在,例如/cache/12338.html,在这种情况下服务并退出。
3)或发送/viewArticle.php?id=12338
我需要哪些重写条件和规则?特别是从请求文件名中提取id。
答案 0 :(得分:0)
将此.htaccess文件放在服务器文档根目录
中<ifModule mod_rewrite.c>
RewriteEngine on
RewriteRule view/article/id/(.*).html$ /cache/$1.html [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^cache(.*)\.html$ /viewArticle.php?id=$1 [NC]
</IfModule>