请求来自特定目录的文件时运行PHP脚本

时间:2014-07-30 23:19:20

标签: php caching

我刚刚写了一些PHP代码,将我网站上的所有JS合并到一个文件中,哈希,然后以哈希文件名作为源回显<script>标签。我将所有这些散列文件存储在一个文件夹中,并在每次生成新散列时删除旧散列。

我希望能够打开此文件的缓存,因为散列文件名确定浏览器何时需要下载新文件(IE:它请求的实际URL不同)。有谁知道如何在PHP中挂钩这个请求?类似的东西:

if ($_GET['folder'] = "path/to/hashed/folder/or/file")
{
    //Do something
}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

除非您使用PHP提供JavaScript,否则无法挂钩请求。但是,您不需要使用PHP设置缓存标头。您可以将Web服务器配置为直接执行此操作。如何执行此操作取决于您使用的服务器。

答案 1 :(得分:0)

您要使用的是一个名为.htaccess的文件。这是一个简单的规则,通过一个文件发送所有内容,这里名为index.php。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/some_file_that_you_want_to_exclude_from_this_rule
RewriteCond %{REQUEST_URI} !^/some_other_file_that_you_want_to_exclude_from_this_rule
RewriteRule ^(.*)$ index.php [L]

完整的网址将在$ _SERVER [&#39; REQUEST_URI&#39;]中,而$ _SERVER中的其他变量会将您指向其他信息($ _SERVER [&#39; REDIRECT_URL&#39;]排除主机名称)。