Работа InternetExplorer с elFinder через https://
Added by Сергей Б over 1 year ago
:) Не сочтите меня назойливым но может кто то делал нечто подобное:
в настройках elFinder из недефолтного только:
'fileURL' => false,
У меня elFinder работает через https , все доступные мне браузеры работают с ним замечательно (FireFox, Safari, Google Chrome) но так как клиенты все еще пользуются InternetExplorer'ом то стал я тестировать эту гадость. При попытке скачать файлы я получаю ошибку:
"Не удалось открыть этот узел Интернета. Узел недоступен или не найден."
Проблема известная и широко описана в интернете:
Проблема в том что для скачивания IE чего либо по протоколу https необходимо чтоб было разрешено кеширование а у меня на сайте стояло no-cache no-store ...
Начинаю пробовать решить данную проблему:
Добавляю мета теги
<META http-equiv="Cache-Control" content="no-cache, no-store, max-age=0, must-revalidate"/> <META http-equiv="Pragma" content="no-cache"/> <META http-equiv="Expires" content="Fri, 01 Jan 1990 00:00:00 GMT"/>
FireBug показывает:
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires Thu, 19 Nov 1981 08:52:00 GMT Pragma no-cache
Добавляю в .htaccess
<IfModule mod_headers.c> Header append Cache-Control "private" </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 hours" </IfModule>
В FireBug без изменений...
Добавляю в index.php
session_cache_limiter('private');
header("Cache-Control: private");
header("Expires: " . date("r", time() + 10800));
header("Pragma: private");
FireBug показывает что кеширование разрешено:
Cache-Control private, post-check=10800, pre-check=10800 Pragma private
Думаю "..ну наконец то .." а не тут то было IE даже при этом выдает ошибку при скачивании,
(при каждом изменении чего либо я делал рестарт Apache для чистоты эксперимента)
Лезу в php.ini и правлю
session.cache_limiter = private
Очередной рестарт Apache , FireBug ничего нового не показал:
Cache-Control private, post-check=10800, pre-check=10800 Pragma private
но только при этом IE стал скачивать файлы :) думаю ну вот оно наконец то :) но очередной раз меня ждала подстава от MicroSoft:
из за жесткого кеширования страниц я периодически и очень часто получаю "Некорректный ответ сервера" :) причем на всех браузерах (типа сам работать не буду и другим не дам) :)
Кеширование я конечно же отключил но может у кого то есть свежие идеи как его победить :) (в смысле IE)
Вариант:
InternetExplorer нужно выкинуть, удалить + сразу сделать дефрагментацию, добавить в базу данных антивирусных программ с пометкой не лечить+сразу удалять, и прочие в принципе рассматриваются НО вспомним великие слова "...Ребята, давайте жить дружно..." :)
Replies (3)
RE: Работа InternetExplorer с elFinder через https://
-
Added by Troex Nevelin over 1 year ago
При fileURL => false по идеи есть возможность управлять заголовками и можно на крайняк ставить +1 сек к expire.
Что касается борьбы с кеширование тоже есть вариант можно использовать в качестве asset tag использовать timestamp ко всем URL. То есть в конце каждого обращаения к коннектору будет в url добавляться &ts=1296199134
RE: Работа InternetExplorer с elFinder через https://
-
Added by Сергей Б over 1 year ago
Спасибо, буду пробовать.
RE: Работа InternetExplorer с elFinder через https://
-
Added by Сергей Б over 1 year ago
Забавное решение получилось:
Учитывая то что у меня IE не реагировал на
session_cache_limiter('private');
header("Cache-Control: private");
header("Expires: " . date("r", time() + 10800));
header("Pragma: private");
и на то что FireBug показывает что кеширование разрешено:
Cache-Control private, post-check=10800, pre-check=10800 Pragma private
а реагировал на то что в php.ini установлено
session.cache_limiter = private
Я сделал следующее:
на всю страницу установил запрет кеширования
session_cache_limiter('nocache');
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));
header("Pragma: no-cache");
а в php.ini сделал
session.cache_limiter = private session.cache_expire = 1
при таких настройках FireBug показывает заголовок
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires Thu, 19 Nov 1981 08:52:00 GMT Pragma no-cache
При таком заголовке все браузеры работают нормально, а изменения в php.ini разрешили и IE тоже нормально все скачивать.
Так вот чего то я не пойму где тут собака зарыта :) и почему IE не реагирует на заголовки и как это связано с php.ini
(1-3/3)