Вопрос или проблема
Возможно ли очистить только 301-редиректы из кеша Firefox? CTRL+F5 не решает проблему, так как вы просто перезагружаете целевой адрес, не очищая кешированный редирект.
Возможность полностью отключить кеширование этих редиректов была бы полезной, но был бы лучше какой-то способ (возможно, через расширение) удалить эти кешированные редиректы.
Примечание: Я не ищу ответы, которые отключают все кеширование (включая CSS, JS и т. д.)
Найдите сайт, с которого происходит редирект, в боковой панели Истории. Щелкните правой кнопкой мыши и выберите “Забыть об этом сайте”.
Без необходимости в дополнениях!
P.S. Я довольно уверен, что это не сработало в прошлом, но в настоящее время, следуя редиректу и затем очищая кеш за последний час, вы действительно удалите кешированный редирект.
P.S. Текущим лучшим решением является использование “Инструментов веб-разработчиков” (Ctrl+Alt+I), щелкните “Сеть” и выберите “Отключить кеш”. Загрузите оригинальный URL. Включите кеш снова. Страница обновляется в кеше, и оригинальный URL также доступен из других вкладок.
Самый быстрый способ удалить кеш в Firefox, включая 301 редиректы, следующий:
- Нажмите Crtl + Shift + Delete.
- Измените временной интервал, если нужно.
- Нажмите на Подробности и снимите галочки со всего, кроме
_cache_
.
Вот простое решение для этого в Firefox:
Меню “Гамбургер” -> Настройки -> Конфиденциальность и безопасность -> Очистить данные (в разделе “Куки и данные сайтов”)
Убедитесь, что “Кешированный веб-контент” отмечен. Возможно, вы захотите снять отметку с “Куки и данные сайтов”. Затем нажмите “Очистить”, и все готово.
Единственное решение, которое я нашел до сих пор – кроме очистки всего кеша – это переключатель “Отключить весь кеш” в Панели инструментов веб-разработчиков. После отключения вы жестко обновляете страницу, и вам доступна новая версия (не забудьте снять отметку после завершения).
Еще одно решение:
- Откройте панель инструментов разработчика на вкладке “Сеть” (Ctrl+Shift+Q или Cmd+Opt+Q)
- Убедитесь, что фильтр “Все” или “HTML” включен на нижней строке
- Перейдите по URL, на который вы получаете кешированный редирект, как обычно
- Обратите внимание, что первый HTML-запрос будет показывать 301 в списке сети
- Щелкните правой кнопкой мыши по этой строке и выберите “Изменить и resend”
- Панель отобразится справа, позволяя вам редактировать HTTP-запрос. Просто нажмите “Отправить”
- Новый HTML-запрос появится в списке сети, на этот раз (надеюсь!) возвращая 200
- Перейдите по URL снова, он должен работать как ожидалось
Поздний ответ. С Firefox 50.
- Откройте
Web Developer
в Firefox (F12) - Откройте
Настройки инструментария
(значок шестеренки вверху окнаWeb Developer
) - В разделе
Расширенные настройки
установите галочкуОтключить HTTP-кеш (когда инструментарий открыт)
.
С открытыми окнами Web Developer
кеш редиректов будет обновлен.
Если вы на Windows, и URL не отображается в истории браузера
Используйте инструмент поиска, например wingrep или опцию “Найти в файлах…” в Notepad++, чтобы искать файлы по этому пути:
C:\Users\<user>\AppData\Local\Mozilla\Firefox\...
Ищите файлы, которые содержат как точный текст: Moved Permanently
, так и URL, который редиректит.
Поиск может занять минуту и может вернуть больше одного файла.
Затем просто удалите найденные файл(ы) и перезапустите Firefox.
Вы можете очистить кешированные редиректы как часть истории просмотров, выбрав временной диапазон. Для недавнего Firefox Quantum 57.0.3 вот как это сделать:
- Щелкните меню “гамбургер” или кнопку библиотеки рядом с адресной строкой.
- Нажмите ‘История’.
- Нажмите ‘Очистить недавнюю историю…’.
- Раскройте ‘Подробности’, нажав маленькую кнопку рядом с меткой.
- Снимите галочку со всего, кроме ‘Кеша’. При желании: выберите предпочтительный ‘Временной диапазон для очистки’.
- Нажмите ‘Очистить сейчас’.
Для более ранних версий Firefox смотрите @mihkov‘s комментарий на вопрос.
Решено!
Проверено с Firefox версии 103.0.
После того как мне очень понравился ответ от @NoChecksum здесь, я обнаружил, что после повторной отправки запроса он дал 200
“локально в инспекторе”, но все еще не очистил кешированный 301
. И когда я снова загружал через URL, кеш снова использовался.
Подсказка = TL;DR
В Инспектор | Сеть
есть опция Отключить кеш
.
- Убедитесь, что стоит галочка.
- Загрузите.
- Снимите галочку.
- Загрузите снова.
Вот и все, 301
пропал.
Как воспроизвести.
Я делюсь здесь полным процессом, чтобы воспроизвести “заставить FF кешировать 301” и затем “заставить FF забыть 301”. Вот как я это сделал в 8 шагов:
-
Я установил докер с wordpress на порту 80 на localhost. Существует множество способов включить/выключить
301
и200
туда и обратно, но запуск заранее определенного образа докера занимает мгновение. Любой другой способ тоже сработает. После запуска докера я просто настроил данные для моего подключения к БД и продолжал, пока у меня не заработал сайт. Я случайным образом назвал сайтTiendas
во время процесса установки. -
Затем я вошел в базу данных и сказал wordpress, что он установлен на случайном порту
7901
(где никто не слушает). Это было сделано, чтобы “заставить”301 Redirect
и заставить Firefox кешировать это, идти в никуда. -
Я открыл Firefox и загрузил
127.0.0.1
, и apache ответил301 Redirect
, передав303 байта
. Этот редирект сказал Firefox перейти на127.0.0.1:7901
, что привело к вторичному запросу и в конечном итоге к ошибкеНе удается подключиться
. -
Я протестировал, что Firefox использует кеш. Загрузил
127.0.0.1
в URL, но как мы видим в инспекторе, он не отправил запрос. Он использовал кеш, поэтому URL заканчивается на127.0.0.1:7901
, что привело к ошибкеНе удается подключиться
. Мы проверили, что кеш “в силе”. -
Теперь я вернул apache к ответу 200, сказав wordpress, что он больше не на
127.0.0.1:7901
, а на127.0.0.1
, так что запрос к127.0.0.1
должен отвечать контентом главной страницы с200 ok
. Я настроил это, обращаясь напрямую к базе данных: -
Теперь начинается интересная часть. Я снова ввел
127.0.0.1
в URL. Но (и это оригинальная проблема в этом вопросе) Firefox продолжал настаивать на использовании кеша. Конечно, Firefox не знал, что в бэкенде произошли изменения. Так что мы снова (неправильно в этот раз) попали на127.0.0.1:7901
с ошибкойНе удается подключиться
, хотя за ним стоял сервер, готовый нам помочь. -
Теперь начинается волшебство: В
Инспектор | Сеть
включите опциюОтключить кеш
и загрузите127.0.0.1
. Мы видим, что страница загружается снова (на этот раз10.34 КБ передано
, и также загружаются все содержимое (css, js и т. д.). Вот и все! Теперь у нас в URL желаемый127.0.0.1
. Никаких редиректов, никаких кешей, ничего. Все принудительно загружено. Мы можем увидеть сайтTiendas
. -
Время увидеть правду… сработает ли это? Я снял галочку с опции
Отключить кеш
, чтобы включить кеширование. Затем снова загрузил127.0.0.1
. Я вижу, что теперь Firefox загружает кэшированные данные, что может (например, js, ico и т. д.), и он не использует старый кешированный301
. Просто этот301
был полностью забыт и больше не редиректит на127.0.0.1:7901
.
В моем случае как-то maps.google.com получил 301 редирект. Сайт не открывался из-за 301. Я проверил настройки/кеш для его очистки, но мог видеть только домен google.com, что означало бы ненужное удаление большого количества кеша. В конце концов, это помогло мне:
- Полное отключение кеша для Firefox. Откройте “about:config” и отключите “browser.cache.disk.enable”. Перезапустите Firefox (это можно сделать из about:profiles)
- Откройте сайт. 301 не будет принят во внимание.
- Включите настройку обратно и снова перезапустите Firefox
Это может не напрямую ответить на вопрос, но для всех, кто использует nginx:
После того как я попробовал все ответы на этой странице и убедился, что в конфигурации вашего сервера нет никаких rewrite
/redirect
– если вы все еще получаете 301, попробуйте добавить завершающий слэш к URL, который возвращает 301.
Таким образом, если http://example.com/some-page
возвращает 301, попробуйте загрузить http://example.com/some-page/
вместо этого.
Если это сработает (если это не возвращает 301), тогда в вашем server { }
блоке добавьте absolute_redirect off;
следующим образом:
server {
listen 80;
server_name localhost;
absolute_redirect off;
location /foo/ {
proxy_pass http://bar/;
}
}
Тайна 301 исчезла!
Смотрите также: Stack Overflow > Nginx вызывает 301 редирект, если нет завершающего слэша
Ответ или решение
Как очистить кеш 301-редиректов в Firefox
Кеширование 301-редиректов в браузере является часто встречаемой проблемой, особенно когда требуется вернуться к исходному URL, который ранее был переадресован. На счастье пользователей Firefox, существуют несколько методов, позволяющих целенаправленно очищать кеш, не затрагивая другие элементы, такие как CSS и JS. В этой статье мы рассмотрим несколько способов решения данной задачи.
Способы очистки кеша 301-редиректов:
-
Удаление сайта из истории браузера
- Откройте боковую панель истории (History sidebar).
- Найдите сайт, с которого произошел редирект.
- Щелкните правой кнопкой мыши по ссылке и выберите "Забыть об этом сайте" (Forget About This Site). Этот метод современен и эффективен, так как он удаляет все данные касательно данного сайта, включая кеш 301-редиректов.
-
Использование инструментов разработчика
- Нажмите
Ctrl + Shift + I
илиF12
, чтобы открыть инструменты разработчика. - Перейдите на вкладку "Сеть" (Network) и установите флажок "Отключить кеш" (Disable cache).
- Введите исходный URL сайта и загрузите страницу. Это приведет к перезагрузке страницы без использования кеша, что должно удалить 301-редирект из памяти браузера. Не забудьте отключить эту функцию после завершения работы.
- Нажмите
-
Очистка кеша через настройки браузера
- Нажмите на значок меню (гамбургер) в правом верхнем углу и выберите "Настройки" (Options) > "Конфиденциальность и безопасность" (Privacy & Security).
- Под разделом "Очистить данные" (Clear Data) убедитесь, что отмечен пункт "Кешированные веб-данные" (Cached Web Content).
- После этого нажмите "Очистить" (Clear). Этот метод позволит очистить кешированные данные без удаления кук и других важных данных.
-
Использование горячих клавиш
- Нажмите
Ctrl + Shift + Delete
, чтобы открыть окно управления историей. - Убедитесь, что выбран только параметр "Кеш" (Cache).
- Выберите диапазон времени, если это необходимо, и нажмите "Очистить сейчас" (Clear Now). Это позволит удалить кеш за указанный период, включая 301-редиректы.
- Нажмите
-
Расширения для Firefox
- Установите расширение, такое как Web Developer Toolbar, чтобы отключить кеш для всей сессии. После этого перезагрузите страницу, чтобы убедиться, что редирект более не действителен.
Заключение
Эти методы представляют собой эффективные способы очистки кеша 301-редиректов в Firefox без необходимости отключения всего кеширования. Используя инструменты браузера и функцию "Забыть об этом сайте", вы сможете управлять кэшированием более точно, что поможет избежать проблем с редиректами в будущем. Если вам нужны дополнительные решения или у вас возникли вопросы, не стесняйтесь обращаться в поддержку Mozilla или искать информацию в официальной документации.