WordPress неправильно обслуживает страницу с типом содержимого обычный / текст

#php #.htaccess #wordpress #w3-total-cache

#php #.htaccess #wordpress #w3-total-cache

Вопрос:

У меня есть сайт WordPress, на котором я размещаю свой блог. Недавно, без каких-либо (сознательных) изменений в конфигурации, я начал сталкиваться с проблемами, когда на главной индексной странице Content-Type text/plain отображалось значение, а не правильное text/html , что приводило к тому, что посетители видели исходный код, а не отображаемую страницу.

Я использую плагин W3TC Browser Cache и сузил проблему до этой части .htaccess файла:

 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTP:Accept-Encoding} gzip
  RewriteRule .* - [E=W3TC_ENC:_gzip]
  RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
  RewriteRule .* - [E=W3TC_PREVIEW:_preview]
  RewriteCond %{REQUEST_METHOD} !=POST
  RewriteCond %{QUERY_STRING} =""
  RewriteCond %{REQUEST_URI} /$
  RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
  RewriteCond %{HTTP_USER_AGENT} !(W3 Total Cache/0.9.4) [NC]
  RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" -f
  RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" [L]
</IfModule>
# END W3TC Page Cache core
  

Если я удалю этот раздел из .htaccess файла, эта страница загрузится нормально, с правильным Content-Type . Однако W3TC любит восстанавливать этот блок через некоторое время после его удаления, и проблема возвращается.

Комментарии:

1. Вызывает ли у вас WordPress Super Cache те же проблемы?

2. Я переключился на Super Cache (используя кэширование PHP, чтобы не касаться th .htaccess) и пока все хорошо. Спасибо