301 'www' кошмар. Как я возвращаюсь?

ssh -t username@hostname /bin/sh работы для меня.

4
задан 13 March 2015 в 15:19
3 ответа

Лучше всего иметь какую-то логику на стороне сервера, поэтому, когда запрос поступает на example.com , проверьте реферер. Если реферером является www.example.com , тогда не выполняйте перенаправление обратно на www.example.com , отправляйте их куда-нибудь еще или просто отображайте для них сайт, отправьте их в подпапку на www.example.com или в другую папку.

Также, если вы зарегистрируете эти запросы, вы сможете получить хорошую статистику о том, сколько пользователей приходят с вашего www ] и по-прежнему получает перенаправление. В конце концов, это число должно стать довольно низким.

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

3
ответ дан 3 December 2019 в 02:32

Заявление об ограничении ответственности: я являюсь автором http://www.yes-www.org/ , и я рад, что вам это нравится.

You ' Мы правильно определили здесь серьезную проблему, связанную с кешированием 301 ответа на стороне клиента и, возможно, даже прокси-сервером. (К счастью, поисковые системы довольно быстро улавливают любые изменения, так что здесь не о чем беспокоиться.)

О кешировании, RFC 2616 говорит следующее :

Получен ответ со статусом код 200, 203, 206, 300, 301 или 410 МОЖЕТ быть сохранен в кэше и использоваться в ответ на последующий запрос с учетом механизма истечения срока, если директива управления кешем не запрещает кеширование.

Интересно, ] браузеры различаются по тому, действительно ли они кэшируют 301 ответ . Независимо от того, что вы в конечном итоге делаете, у вас почти наверняка появятся пользователи, которым нужно будет очистить кеш своего браузера.

Учитывая все это, я бы подошел к проблеме следующим образом:

  • Ни в коем случае я бы не стал использовать третий субдомен, как рекомендовали мои коллеги здесь. Я не вижу причин, по которым это может быть необходимо, и часть ваших пользователей обязательно заметят и зададутся вопросом, если что-то не так.
  • Сначала я бы изменил существующие перенаправления 301 с www на не-www на перенаправление 302 . 302 не кэшируется по умолчанию . Я бы оставил его на некоторое время, возможно, на 30 дней, чтобы поисковые системы и большинство ваших постоянных посетителей могли его увидеть.
  • По истечении этого времени я бы изменил веб-сайт на использование www. удалите перенаправление 302 и поместите перенаправление 301 с не www на www.
7
ответ дан 3 December 2019 в 02:32

Измените перенаправление www.example.com -> example.com на www.example.com -> temp.example.com , и, конечно, убедитесь, что адрес temp работает как псевдоним для веб-сайта.

Пусть он будет работать в течение нескольких недель или месяцев. (И не забудьте истечь заголовки на этом 301!) Дайте ему достаточно времени, пока вы не поймете, что браузеры большинства людей узнали о новой переадресации на temp.example.com и забыли о старой, которая идет на example.com .

На на этот раз вы можете перенаправить example.com -> www.example.com , не создавая цикла. (За исключением тех немногих, у кого все еще есть кэш старого перенаправления: очень плохо.)

В то же время отключите перенаправление на temp , но оставьте этот псевдоним работающим еще некоторое время. Когда вы заметили, что к temp мало или совсем нет доступа, вы можете закрыть temp .

1
ответ дан 3 December 2019 в 02:32

Теги

Похожие вопросы