样式表在服务器上出现损坏
Posted
技术标签:
【中文标题】样式表在服务器上出现损坏【英文标题】:Stylesheet appearing corrupt on server 【发布时间】:2012-08-05 01:20:56 【问题描述】:我有一个似乎突然停止工作的 Wordpress 网站。 当在浏览器上查看时,样式表会变得混乱,如下所示:
‹������Œ“ËNÜ0†_Åê¦&Qf
6aEHH´bÁ8ñ™øÇŽlg:4Ê»ã”Ü/nÿüçöû!ä;.—äÊ¢ƒG°©Á¡V×æÕ: ½b‘CÂÌL,“uáAfC&âvÞöAŸ‰DÂz½ÐÖýb§A¹r,û!uÉI)-ÕyÊI´Î—÷Å|_:¡Í½âÌÁüã0 U–°ô½ozÔÚù%ÂeðÒt.e%�3áâÝ·ºs
|âbG[Hö£'¨ ŸòÜæ÷q²$žA•hçtûâ\Ïï¯ Æ¹ß9pºˆwÑŠão’U3#èö¾‰†Í-0“Š&ñ¤ôcTÕ4ŠFë¢ò÷Wúæ(õïX ç êYæOÚä“UöãUF¦nJw”uú~—J¿Eìïb'ÌXƒáôÄCq¾ë„6∼ÃaíìãÉgi&åQM
我网站的其他部分看起来还不错,但看起来没有样式。
我尝试再次上传样式表,但是当我尝试直接通过浏览器查看它们时,同样的事情发生了。
如果我通过 Filezilla 从服务器上下载它们,它们看起来完全没问题。
有人知道发生了什么吗?
HTTP 响应标头:
名称值分隔符状态:HTTP/1.1 200 OK 日期:2012 年 8 月 8 日,星期三 格林威治标准时间 00:30:11 服务器:Apache 上次修改时间:2012 年 8 月 7 日星期二 03:46:49 GMT 变化:接受编码、用户代理内容编码:gzip 缓存控制:公共过期:A604800 内容长度:4544 连接:关闭 内容类型:text/css 内容语言:en-US
【问题讨论】:
你用的是什么浏览器?这在其他浏览器中会发生吗?我的猜测是文件在发送时被服务器压缩并显示为原始文件(浏览器不解压缩)。 Chrome 有时会这样做,但这可能是您的服务器配置的问题。您可以发布请求的响应标头吗? 我使用的是 Chrome,但在 Firefox 和 Internet Explorer 中也是如此。我已经添加了响应头。 【参考方案1】:Filezilla Trac 中有一个与您的问题相同的错误:
http://trac.filezilla-project.org/ticket/6505
http://trac.filezilla-project.org/attachment/ticket/6505/FileUploadIssue.png
该错误未解决,但报告提供了此解决方法:
我下载了另一个免费的 FTP 客户端 (Core FTP Lite) 和相同的 文件和目录再次上传成功
如果您想深入了解,我建议您先在样式表上尝试不同的字符编码(并检查其他文本文件是否像这样下载)。
作为一种替代解决方法(也是一种测试它是服务器问题还是 Filezilla 的方法),制作一个与样式表内容相呼应的 php 文件。我认为如果 Wordpress 正常工作,奇怪的编码问题可能是 Apache 的文件处理配置的问题。这可以通过使用 PHP 而不是 Apache 来处理文件读取和输出来解决这个问题:
<?php
echo file_get_contents('style.css');
编辑:
如果这个 PHP 变通办法有效,您可以尝试setting the type handler for .css files to PHP in a .htaccess file。不过,这是一个非常肮脏的把戏;在诉诸此之前,您可能应该与您的主机讨论这个问题。
【讨论】:
好主意,但我已经通过 cPanel 直接重新上传了文件,但仍然没有。我尝试将它上传到我的 Wordpress 主题文件夹中的另一个文件夹,但收到 500 内部服务器错误,所以我开始认为它与 Wordpress 的设置有关 如果通过 cpanel 的文件管理器创建一个新文件并在其中放入一些内容会发生什么?它有同样的问题吗?除非您使用插件来管理样式表,否则它们通常作为文件直接访问。 编辑: 我知道这是固定的 - 太好了! 我通过 cPanel 尝试了所有这些,当我在文件管理器中打开它时样式表看起来不错,但当我尝试直接通过浏览器打开它时仍然会搞砸。我能想到的唯一可能是一个狡猾的 Wordpress 插件......不过,感谢您的所有帮助,非常感谢!【参考方案2】:不确定是什么原因造成的,但保存了我的所有设置和图像/信息,删除了我的 Wordpress 并重新安装它,它又可以正常工作了。
不知道为什么会出现这种情况,我唯一能想到的就是我前一天晚上安装了一些插件。
【讨论】:
以上是关于样式表在服务器上出现损坏的主要内容,如果未能解决你的问题,请参考以下文章
使用自己的样式表在 JQuery mobile 中进行 CSS 定位