即使在提供静态文件时,仍然设置使用 PHP 设置的 HTTP 标头
Posted
技术标签:
【中文标题】即使在提供静态文件时,仍然设置使用 PHP 设置的 HTTP 标头【英文标题】:HTTP header set with PHP is still set even when serving static file 【发布时间】:2015-11-11 11:04:55 【问题描述】:好的,这是场景:
我使用设置 x-pingback 标头的 Wordpress。 我使用了缓存机制,它总是使用 mod_rewrite 为静态 html 文件提供服务。相信我,缓存会按照我描述的方式工作。
为什么我仍然看到设置了 x-pingback 标头?! WP 正在将该标题放在 php 中......但现在访问者从未点击过 PHP,而是为他们提供了一个静态 html 文件。
我在这里错过了什么?!
【问题讨论】:
你怎么知道 mod_rewrite 没有命中 Wordpress?我认为很明显,当 PHP 代码添加该标头并且您看到该标头时,请求通过了 PHP。 这就是我问这个问题的原因,你说得有道理。如果在 apache 设置中我写了一条规则来服务 www.example.com/post65 -> var/www/cache/post65.html 它不应该命中 WP 也不应该显示标题,对吗?跨度> 我不知道可以在文档根目录之外重写。您确定该请求不会以http://your-wordpress/var/www/cache/post56.html
结束,Wordpress 将在其中根据 slug 查找帖子吗?你能展示一下你拥有的相关 mod_rewrite 规则吗?
谢谢,我自己解决了……有点笨,但我没有意识到。
【参考方案1】:
感谢@CodeCaster 与我一起思考。
好的,问题是我的索引/主页没有被缓存。故意! 我知道这个页面会设置标题,但我不知道作为静态服务的页面带有它!
我打开了隐身窗口并检查了帖子的标题 - 它已经消失了。当我导航到家时,正如预期的那样,有标题。我现在再次刷新了帖子并繁荣 - 标题就在那里!
【讨论】:
以上是关于即使在提供静态文件时,仍然设置使用 PHP 设置的 HTTP 标头的主要内容,如果未能解决你的问题,请参考以下文章
Access 2003 FORMS:当我在运行时使用 VBA 设置时,即使我关闭然后打开,ListBox 的“RowSource”仍然存在
即使我在 react/redux 中使用受保护的路由设置了身份验证,我仍然会被注销?当我刷新页面时