条件URL在PHP中重写

时间:2012-02-16 21:59:44

标签: php apache .htaccess mod-rewrite url-rewriting

我编写了一个可以托管多个客户端/网站的自定义CMS。站点及其各个部分存储在/ client-name / site-name目录结构中。

htaccess通过不存在的索引传递每个请求。

拥有'/clients/client-name/site-name/images/img.jpg'是不理想的,所以只允许'/images/img.jpg'我已经捕获了请求,然后我有效地服务文件的真实位置;标题和所有。我也在为CSS,JS等做这个。

这个工作正常,但我现在注意到这不允许文件正确缓存,因此每次提供一个页面时,它会再次加载整个内容,这很痛苦,看起来很糟糕。

有没有人知道解决这个问题的方法? Apache配置或htaccess解决方案没问题,但它需要知道文件的位置,该文​​件位于CMS索引编制的数据库中。

帮助!

1 个答案:

答案 0 :(得分:2)

我通过PHP脚本提供JavaScript(我用它来组合/缩小JavaScript,因此我提供单个文件)。

我使用以下标头来确保它被缓存:

header('Content-type: text/javascript');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 6048000));

在我的情况下,原始下载需要982毫秒。在此之后,每个后续请求(Firefox 10.0.1)从缓存中获取仅需87毫秒