我有这个代码:
<?php
header('Content-Type: text/css; charset=utf-8');
?>
a.logo{background:url(//webzina.net/img/logo.png) no-repeat 100% 0}
在本地(PHP 版本 5.3.5),我得到:
a.logo{background:url(//webzina.net/img/logo.png) no-repeat 100% 0}
但远程(PHP 版本 5.3.21)我得到:
a.logo{background:url(http://webzina.net/img/logo.png) no-repeat 100% 0}
如果我评论标题行,远程我会得到与本地相同的结果。
最糟糕的是,我在远程使用 https,因此“http:”会造成麻烦。
有人能告诉我哪个 apache/php 设置干扰了协议相对 URL 或者为什么会发生这种情况吗?
答案1
使用 Apache 的 mod_info (http://httpd.apache.org/docs/2.2/mod/mod_info.html) 查看 Apache 配置的输出。然后在其中搜索 text/css,看看是否有任何指令指定应该对 CSS 文件执行某些操作。例如,您可能会找到一个AddOutputFilterByType
指令。根据您的设置,远程端也有可能有一个代理正在修改 CSS 文件,如果是这样,您需要检查该代理的配置。