1

我正在我的数据库驱动网站上实现缓存。我将缓存文件保存到 /cache/ 作为 id.html

我有像http://www.example.com/view/article/id/12338.html这样的网址

现在我需要检查这个 12338.html 文件是否存在于缓存中。如果存在,它应该是服务器,否则它应该重写为 /viewArticle.php?id=12338

所以这就是我需要的:

1)在这种情况下提取 id 号,例如 12338。

2)检查 /cache/id.html 是否存在,例如 /cache/12338.html 在这种情况下并提供它并退出。

3)或服务/viewArticle.php?id=12338

我需要什么重写条件和规则?特别是用于从请求文件名中提取 id。

4

1 回答 1

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>
于 2012-07-19T12:06:04.970 回答