Управление кешем на домене без файлов cookie - PullRequest
0 голосов
/ 04 марта 2011

Моя ситуация
Я следую совету YSlow от Yahoo и хочу хранить свой статический контент на поддомене. Однако я хотел бы использовать функцию filemtime() для управления кешем файлов.

Проблема
Проблема в том, что эта функция не работает на поддоменах.

Мой вопрос
Есть ли способ достичь обеих моих целей? Или у вас есть предложение для меня? Любое решение или обходной путь будут высоко оценены.


Обновление
Функция filemtime() теперь работает на поддомене. Я сделал ошибку в наборе пути. Но он все еще не работает на других доменах.

Ошибка выглядит следующим образом:

Предупреждение: filemtime () [function.filemtime]: сбой статистики для ../../otherdomain.com/file.css в /mywebsite/public_html/index.php в строке 7

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Возможно, вы установили файлы cookie для domain.com, поэтому они будут переданы sub.domain.com.

Можете ли вы использовать совершенно новый домен, например, cdndomain.com?

Что касается использования модифицированного файла кеша, попробуйте это ...

<?php
$filename = 'script.js';
?>

<script type="text/javascript" src="<?php echo $filename . '?' . filemtime($filename); ?>"></script>

Затем убедитесь, что script.js отправляет заголовок истечения в будущем (достаточно 1 года).

Затем, когда вы обновите этот файл, управление версиями изменится, сломав кеш и разрешив клиенту загрузить новую копию.

0 голосов
/ 07 марта 2011

Я решил проблему, создав файл PHP в другом домене и отправив запрос в этот файл, чтобы проверить время изменения файла.

...