我正在尝试制作一个简单的 PHP 缓存破坏器,但我有一个小问题:如果我这样做,
header('Location: http://localhost:8080?'.time());
那么我的 url 将是http://localhost:8080/?1234445
,但是我需要的是让它像http://localhost:8080?1234445
没有斜杠一样。
请帮帮我,我对 PHP 很陌生。
我正在尝试制作一个简单的 PHP 缓存破坏器,但我有一个小问题:如果我这样做,
header('Location: http://localhost:8080?'.time());
那么我的 url 将是http://localhost:8080/?1234445
,但是我需要的是让它像http://localhost:8080?1234445
没有斜杠一样。
请帮帮我,我对 PHP 很陌生。
http://localhost:8080/?1234445
并且http://localhost:8080?1234445
完全一样,根据BNF for URIs。没什么好担心的。
你真的应该使用更...有效的东西来清除缓存。该帖子的亮点:
解决缓存问题的 URL 不是要走的路。URL 应该代表一种访问内容的方法,仅此而已。
[...] 有一些有意义的标题,你会没事的。
<?php header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?>
我认为正在发生并且已经能够在 Win7 上使用 EasyPHP 5.4.6 (PHP 5.4.6) 重现的是header
负责重定向的调用是不受保护的,因此重定向链如下进行:
http://localhost:8080
http://localhost:8080?1367490108
http://localhost:8080?1367490108
http://localhost:8080?1367490109
http://localhost:8080?1367490109
http://localhost:8080?1367490109
http://localhost:8080?1367490110
http://localhost:8080?1367490110
http://localhost:8080?1367490110
http://localhost:8080?1367490111
http://localhost:8080?1367490111
http://localhost:8080?1367490111
http://localhost:8080?1367490112
等等,在重定向的永无止境的尾递归中[直到 Firefox 闻到老鼠的味道]。[信息:上述重定向链的查询字符串中的时间或多或少是假设的。您的平均客户端+连接+服务器组合每秒可以重定向超过三个,并且 Firefox 在重定向循环一秒半后中止。]