站点从localhost看起来很完美,但不是来自服务器

时间:2012-09-07 17:01:54

标签: html css apache

我偶然发现了一个非常奇怪的问题,我正在构建一个HTML模型,它在localhost的所有主流浏览器中运行良好,但是当我将它上传到服务器时,事情变得很奇怪。

当我从 Chrome Safari 中的服务器加载我的网站时,标题(看起来我需要从localhost获取)会显示失真。但是当我重新加载页面时,它有可能正常显示。

两个地点的代码完全相同。服务器正在运行apache 2.2.16

3 个答案:

答案 0 :(得分:11)

它来自一个从Adblock Plus附加组件注入的CSS。停用加载项可以解决Chrome中的问题。

这是在结束</body>后立即从Adblock Plus注入的:

<link rel="stylesheet" type="text/css" href="data:text/css,">

答案 1 :(得分:2)

您的测试服务器对我来说很好。

但有两件事(独立于Apache)会浮现在脑海中:

  1. 您是否考虑过浏览器缓存?更新CSS文件时 有时浏览器会使用较旧的缓存版本 文件。有关此问题的提示,请参阅this question
  2. 文件和文件夹权限。上传到Web服务器时,通常会在每次上传时覆盖权限,并且a 依赖文件(例如CSS或javascript文件)不会 可以从正在运行的Apache进程访问。

    我经常运行chmod -R 755 /path/to/my/webfolder/ ...

  3. 如果这仍然不起作用,我将查看Apache.conf文件,看看localhost和公共服务器之间是否存在任何差异。想不出它会是什么......许可差异可能......

答案 2 :(得分:2)

我想我找到了罪魁祸首(它现在每次都在我的本地apacheserver上运行):

.headblock {
    float: right;
    width: 650px;
}

(我删除了height: auto;

我还在Chrome中找到了关于height: auto问题的帖子,http://productforums.google.com/forum/#!topic/chrome/ikmnUr22cyI。并且没有关于它被修复的反馈。

那不是它。我简化了页面并上传了一个小提琴http://jsfiddle.net/KqVJ9/进行测试。

<强>固定吗

它的更新版本http://jsfiddle.net/KqVJ9/3/不断为我服务。填充/边距可能与原始版本不完全相同,但我留给您修改的那些调整。 :)