我正在尝试制作一个简单的PHP缓存,但我有一点问题:如果我这样做
header('Location: http://localhost:8080?'.time());
然后我的网址将是http://localhost:8080/?1234445
,但我需要的是让它像http://localhost:8080?1234445
一样没有斜杠。
请帮助我,我是PHP的新手。
答案 0 :(得分:3)
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在重定向循环一秒半后中止。]