Apache - как отключить кеширование браузера при отладке htaccess - PullRequest
21 голосов
/ 12 октября 2011

Я пытаюсь отладить файл .htaccess.FireFox продолжает кэшировать перенаправления, и я не могу обойти их.Обычно я нажимаю Ctrl + F5, но поскольку он уже перенаправляет меня на другую страницу, он просто обновляет страницу, на которую я был отправлен, а не URL-адрес, который я набрал. Есть ли способ принудительно обновить URL-адрес?

Вот пример:

  • Перенаправьте example.com/hi на example.com/hello, протестируйте в FireFox и все работает
  • Удалите эту строку из .htaccess
  • Введите example.com/hi в FireFox, он по-прежнему перенаправляет на example.com/hello
  • Введите example.com/hi в Chrome, он не перенаправляет

Вот почему я думаю, что это проблема кэширования в браузере, а не в кэшировании на сервере.

Редактировать: Это, похоже, относится к FireFox, быстрое решение - вместо этого использовать Chrome.Срок действия кэша истек через час, что слишком долго при попытке отладки.

Ответы [ 9 ]

14 голосов
/ 13 октября 2011

Если вы используете RewriteRule, просто используйте R вместо R = 301. Для других целей вам придется очищать кеш браузера при каждом изменении перенаправления. (Если вы не знаете, как очистить кэш браузера, поиск ответа на вопрос должен дать быстрый и простой ответ - или не стесняйтесь комментировать, и я помогу вам.)

Проще говоря, старайтесь по возможности избегать 301-х, пока ваши перенаправления не будут работать нормально. Если вы не можете избежать их, будьте готовы регулярно очищать кеш браузера.

10 голосов
/ 22 мая 2015

Очистка сетевого кэша Firefox работает для меня.Также для перенаправлений 301.

Предпочтения / Параметры> Дополнительно> Сеть> Кэшированный веб-контент.

Clear network cache in Firefox preferences

См. https://support.mozilla.org/en-US/kb/how-clear-firefox-cache

5 голосов
/ 06 марта 2016

Чтобы принудительно очистить кэши htaccess / redirect в Google Chrome :

  1. Выберите «Настройки»> «Дополнительно»> «Конфиденциальность»> «Очистить данные браузера»
  2. Выберите «Кэшированные изображения и файлы»
  3. Нажмите Очистить данные просмотра

Ваша страница должна теперь загрузить новые настройки htaccess.

5 голосов
/ 02 октября 2014

В Google Chrome откройте новую вкладку в режиме «Инкогнито», используя:

CTRL-SHIFT-N

Очень полезно для отладки.

3 голосов
/ 19 октября 2015

Я думаю, что здесь стоит взвесить на всякий случай, если мой опыт кому-нибудь поможет.Я регулярно переключаюсь между разработкой и производством на моей локальной машине.Ветвь разработки - это моя локальная среда, а производственная ветвь - для моего удаленного сервера.Единственная разница между этими двумя средами - это файл .htaccess.Моему удаленному серверу нужно правило перезаписи на тот случай, если кто-то не введет "www" перед URL:

# If www is missing from the beginning of the URL
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Однако это правило перезаписи не работает для моей локальной среды из-за структуры URL.Поэтому в моей локальной версии .htaccess я комментирую правила перезаписи.

Что я заметил, так это то, что Chrome, похоже, не обращается к моему локальному серверу, чтобы каждый раз получать последний файл .htaccess.Это, очевидно, кэширует переписывание, потому что когда я переключаюсь с производственной ветви на мою ветку разработки, я получаю что-то похожее на это:

www.www-local.myurl.local

Если я использую Safari, я получаю правильный URL:

www-local.myurl.local

Чтобы решить эту проблему с Chrome, я зашел в Инструменты разработчика> Настройки> Общие> и установил флажок «Отключить кэш (когда открыт DevTools)»

После этого мне просто нужно открыть Dev Toolsи перезагрузите, чтобы получить текущий .htaccess.

2 голосов
/ 21 февраля 2018

В Firefox откройте Панель инструментов разработчика , нажав Опция Command I . Затем нажмите Настройки (это маленький значок с изображением винтика) и в разделе Расширенные настройки поставьте галочку рядом с Отключить HTTP-кэш (при открытой панели инструментов) . Это помогло мне.

0 голосов
/ 09 февраля 2019

В Google Chrome откройте панель инструментов разработчика.Затем нажмите «Настройки» (это значок с 3 точками) и в разделе «Сеть» установите флажок «Отключить кэш (когда открыт DevTools)».

0 голосов
/ 09 августа 2012

После попыток обновить свой кэш бесчисленное количество раз я решил очистить куки для своего сайта, я не знаю почему или как, но это очистило его для меня. Может быть, это что-то особенное для Magento, но оно может быть более общим.

0 голосов
/ 28 апреля 2012

Ну, вы можете просто очистить кеш htaccess, используя Firefox addon Clear Cache.Лучше, чем любой CTRL + R

https://addons.mozilla.org/en-US/firefox/addon/clear-cache-button/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...