我开发了一个网站,并在整个测试阶段将其发布在运行 IIS 6.0 的 LAN 计算机上,以确保它看起来正确并且适用于所有浏览器。我大量使用 CSS 进行布局,少量的 javascript 和 ASP 仅用于服务器端包含。该布局在 Chrome、Firefox、Opera、IE8 和 Safari 中进行了测试。一切都按预期工作。
当我将完成的网站上传到我的域主机时,网站看起来完全不同,CSS 下拉菜单也不起作用。以下 URL 显示了差异(抱歉,由于 SO 上的链接限制,两个屏幕截图合并在一起):
经过一些调查,我发现托管站点运行 Apache 作为他们的服务器。我还在两台主机上运行了 ASP 命令 Request.ServerVariables("SERVER_PROTOCOL"),发现我的 IIS 测试主机返回了 SERVER_PROTOCOL: HTTP/1.1 而 Apache 主机返回了 < strong>SERVER_PROTOCOL: HTTP/1.0
我有点不知从何而来。服务器协议(protocol)的这种差异是否会导致我的 css 在 Apache 服务器上被错误地解释?考虑到我的域托管服务器不在我的控制范围内,我能做些什么吗?我是不是完全偏离了轨道,应该去别处看看?
请您参考如下方法:
CSS 由浏览器解释,而不是网络服务器。问题可能与您的托管服务提供商支持 ASP 站点的方式有关(如果它完全支持的话)。