>希望这里有人可以帮助我提供一些关于检查什么以及在哪里查看我遇到的新问题的想法。
我已经在网站上实施了 W3TC 缓存以改善加载时间,但它在页面加载时产生了问题 - 页面现在在第一次加载时加载乱码文本,然后在刷新后似乎工作正常。
我 99% 确定它是 W3TC,因为当我清除缓存时,问题发生了,然后在刷新后,它消失了。
这是刷新前显示的内容:
vu000b' "fd t o o <{Jz F'ؼ Tʡ> ꛯ EM 7ֈ e l{ # ƛ oA G b r, z U ] 3e<hI���2�,�Z�}RuO�i��Ck�T,����|^�q�~�F#M�R�E$k�k4��c��b��ޔ�C�����F�gc���#/H}V���AM�2�ӡE��"u�Zz �U���tFM�Ed��qduڞ3��@�����
��{ޔ&��������GJM;�b��)�
��oN�3�Tq7
ɦZϞ=" CF=">')+?.د ! V Q q6 E 0s g3 1[ T Nq ʣ beLq" ^YhhƓ H& O 8Zn 1 2 znon Z^��B��Z%ֱ���1��ћ]��C�Hh�ݪM�����F?#��o"���%Ո�.tR�fP{��[���T�6�S��Iy��p����H��k^�e�����O��[U�����S;�β��+ݪ��.Dw?~h�27��F�t;�Ӹ/S���L�1�X�����������/�~|�T莥JR�_�{ ���y3+��
��p���7�h|�c��&b���z�2��-S��3�� �J$�4
=" ɫUۊ=" w=" wd=" n=" O=" q=" Applications=" Nc.=" _x0031_cI=" Vv=" t=" E=" J=" h=" 臭=" Ku=" k=" s=" b=" _x0034_i=" fn=" F=" Z=">{/Oy l搗 2)wa|yd ֮k w N ]UaLme V q 폋@y "V d 2 K{'4Q 6 1 R^ :o "&FQ $U ���)�f��ڔ Y IW H # -E HK 6 I<: ㄆlOW0A " 1G q " nHc p>~4ᣵ - 7 N a Ys n 1/[ A i5z ^ k 7 - R 4 & u Tʫ9 p ' 6p p آ ' N{ס n ў � y j s ۳ K |8 ׳ Ö kc i wXF d ~{ 5 e j -[#ӡ Z ^ X Ђ B 3m ~IcU f5( 4P J ERI FD4 <: ~$ ⧛ a - ;/Ƞ &(m T۱ ~a3 J ): q z A 2��&�heTeT�§��]�?]>�E䣝j!ƣ�_�v�8-�t�i���s1��%��Up�M��C�����T�0^����(���.��q�9(���zK�v���h����T� "����2�hUPTɇf����<�M�Q����'���,bh)s���.Q���p�^�Dv"SۿC��r��qfpo9�&��:�%�-�W����ư�.U�u������ʜr�4a4T ���QE֎Qzw:F)}f���c��4�^��IX���,8��r�Y��.̳5��m�L@+���+a��Om����[= V��$Dx��'c���E����y�J�7�E��q�ٱ�S��I|�;Pkg8�Yۉ�X#�2�����NJ��2�y�6�Td�B�,�P� �*t4�猒,^��]pĎ��N�j��0�����ˌg���+�aNX�5���R��ld�֭97���ʢK덆�Ӥ���5~ ��[M�4X��X�u�ʼn+��n��
(���[�F'P
S6 j ) 9 k* e [ d hO #m> ౩t <<em>h ele! L�M�V�3��+�٣F�=�/m*a�}Ly��M}��Z89�o ��z�S߇�,w(��L{�qd@��FA�Y�o~iHۙ<B/l}@"H:��� �^���,c��n(
o�>�/I��c�㲨=��!WKm]���6q����M$6��Qۭ~_7�e�?�}��C,��HCR,���G�m�B��o�t�Uk-t�QY��<�٧�e���E.��J�/!VC�����)�d�Y��
7/���ugm��#�-Re�g��#����:2�|Y}�]���g
k ag X<6
当内容编码出现问题时,就会发生这种事情,这通常取决于压缩设置。
通常,Content-Encoding
标头无效或丢失,或者Vary
标头无效或丢失。我不知道W3TC,但是快速搜索" W3TC内容编码错误"带来了一些结果,因此幸运的是,这是一个发生在少数人身上的问题。
阿帕奇默认压缩设置
同样,我不知道 W3TC,但是通过实现类似的缓存设置,当它第一次看到对尚未缓存的文件的请求时,它将构建一个.html文件,使用 gzip 之类的东西压缩它,并将其另存为.html.gz
文件。每当收到辅助请求时,Apache 都可以按原样直接提供该静态文件(知道由于文件扩展名,它已经被压缩了)。
出现此问题的原因是,它会将 gzip 数据输出到第一个请求者。默认情况下,Apache 会压缩响应(除非它知道不压缩),因此结果是它被压缩了两次。
因此,可能的选项:
- 通过禁用您网站上的
mod_deflate
来关闭 Apache 的默认压缩设置(假设您的所有请求都通过 W3TC,这可能是 W3TC 所期望的路由) - 通过添加类似
apache_setenv('no-gzip', '1');
的内容来编辑 W3TC 或您的网站,该内容与上述内容具有相同的效果,但在适用于哪些请求方面更可控 - 关闭 W3TC 的压缩(不过我不会这样做;认为这是最后的手段!