Перенаправление с domain.com на www.domain.com с сохранением данных GET & POST - PullRequest
0 голосов
/ 20 февраля 2009

В настоящее время мой веб-сайт показывает те же данные, если люди заходят на domain.com или www.domain.com.

Я бы хотел настроить перенаправление, чтобы все запросы к domain.com отправлялись на www.domain.com. Таким образом, пользователь, который переходит на domain.com, будет перенаправлен на www.domain.com. Так же, как то, что происходит, если вы идете на http://amazon.com/?a=b

Я не хочу потерять или повредить данные GET или POST, отправленные в запросе domain.com.

Каков наилучший способ сделать это? Должен ли я использовать 301 редирект? Приведет ли это к тому, что браузер пользователя будет повторно отправлять данные GET / POST по URL-адресу www.domain.com?

[EDIT] Хорошо, Zaagmans говорит, что прозрачное перенаправление POST пользователю невозможно. Так что давайте пока проигнорируем POST. Как мне перенаправить только данные строки запроса?

Ответы [ 2 ]

1 голос
/ 20 февраля 2009

Да. Для GET вам нужно будет использовать 301, и браузер должен будет повторно запросить его. Если ваши GET являются идемпотентными (и они должны быть), это не будет проблемой. Поисковые системы уважают 301-е таким образом, что они не уважают другие 30-кратные коды.

Я не знаю, каким веб-сервером вы пользуетесь, но обычно есть модули перезаписи / перенаправления URL-адресов, которые с большей частью справятся с этим.

1 голос
/ 20 февраля 2009

В статье о перенаправлении почтовых запросов это подробно объясняется.
(Возможный) недостаток предлагаемого перенаправления 307 заключается в том, что браузер предупредит пользователя и предоставит возможность продолжить или отменить запрос.

...