Просмотр полной версии : кодировка при использовании fl_staticfilecache
Без fl_staticfilecache сайт выводится нормально, кодировка utf-8.
Такая строка есть в html страницы:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
При использовании fl_staticfilecache результирующий файл такой же, но браузер самостоятельно определяет кодировку windows-1251 и переключает на нее.
В результате - страница кракозябрами.
В чем может быть дело?
в Апаче кодировка не стоит?
Браузер не самостоятельно определяет кодировку - это ему "помогает" веб-сервер, который шлёт заголовок Content-type:
Нужно отключить такое поведение апача через .htaccess: CharsetDisable On
Это все крутится на виртуальном сервере у хостера. Что там в апаче - неизвестно.
Если ставить CharsetDisable в htaccess, то сайт валится. Похоже, такой инструкции в htaccess не предусмотрено.
Ну а в httpd.conf у меня доступа нет.
Что еще посоветуете?
http://www.w3.org/International/questions/qa-htaccess-charset
AddCharset UTF-8 .html
А если стоит неотмершая по ошибке экзотика типа русского Апача, то
Если у вас на сервере стоит Apache/RUS, то рекомендуется отключить всякую автоматическую перекодировку, добавив в .htaccess директиву
CharsetTurnOff On
(работает начиная с версии Apache/RUS PL20).
http://koi8.pp.ru/prosto.html
AddCharset UTF-8 .html
Спасибо! Это помогло.
Valery Romanchev
03.07.2007, 18:20
Без fl_staticfilecache сайт выводится нормально, кодировка utf-8.
а почему fl_staticfilecache?
он же вроде хуже чем nc_staticfilecache (http://typo3.org/extensions/repository/view/nc_staticfilecache/current/) ?
А я и не знал про nc_staticfilecache :)
Поставлю, посмотрю.
Спасибо за подсказку
не могу настроить nc_staticfilecache
файлы в кэше создаются
но потом не выводятся вместо php
полагаю, дело в .htaccess
можете привести пример работающего .htaccess?
RewriteEngine On
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin| uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
#------------------------------------------------------------------------------
# beginning of static file cache ruleset
# Check for Ctrl Shift reload
RewriteCond %{HTTP:Pragma} !no-cache
RewriteCond %{HTTP:Cache-Control} !no-cache
# Don't cache HTTPS traffic by default. You may choose to comment out this
# option if your site runs fully on https. If your site runs mixed, you will
# not want https traffic to be cached in the same typo3temp folder where it can
# be requested over http.
# Enable this if you use a mixed setup.
#RewriteCond %{HTTPS} off
# NO backend user is logged in. Please note that the be_typo_user expires at the
# end of the browser session. So, although you have already logged out of the
# backend, you will still have to either restart your browser or remove the
# cookie manually for this rule to work.
RewriteCond %{HTTP_COOKIE} !be_typo_user [NC]
# NO frontend user is logged in. Logged in frontend users may see different
# information than anonymous users. But the anonymous version is cached. So
# don't show the anonymous version to logged in frontend users.
RewriteCond %{HTTP_COOKIE} !nc_staticfilecache [NC]
# We only redirect GET requests
RewriteCond %{REQUEST_METHOD} GET
# We only redirect URI's without query strings
RewriteCond %{QUERY_STRING} ^$
# We only redirect if a cache file actually exists
# Uncomment the following two lines if you use realurl:
RewriteCond %{DOCUMENT_ROOT}/typo3temp/tx_ncstaticfilecache/%{HTTP_HOST}/%EQUEST_URI}index.html -f
RewriteRule .* typo3temp/tx_ncstaticfilecache/%{HTTP_HOST}/%{REQUEST_URI} [L]
# Uncomment the following two lines if you use simulateStaticDocuments:
#RewriteCond %{DOCUMENT_ROOT}/typo3temp/tx_ncstaticfilecache/%{HTTP_HOST}/%REQUEST_URI}/index.html -f
#RewriteRule .* typo3temp/tx_ncstaticfilecache/%{HTTP_HOST}/%{REQUEST_URI}/index.html [L]
# end of static file cache ruleset
#------------------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]
Да, htaccess тот же, что и у меня и в документации.
Выяснил, что проблема в разрешениях на папки, которые создаются модулем. Если не стоит разрешение "выполнить", то файл в этой папке невидим.
Что можете посоветовать?
P.S. В примере небольшая ошибка, строка должна быть такая:
RewriteCond %{DOCUMENT_ROOT}/typo3temp/tx_ncstaticfilecache/%{HTTP_HOST}/%{REQUEST_URI}index.html -f
нда... не пользуйтесь формами у хостера для редактирования файлов :(
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot