Почему «www.example.com «не совпадает с «example.com «?

#php #web-applications

#php #веб-приложения

Вопрос:

У меня есть веб-сайт. Если я войду в домен этого формата http://example.com а затем измените мой адрес на http://www.example.com я обнаружил, что моя учетная запись не авторизована. Если я изменю адрес на http://example.com , Я обнаружил, что моя учетная запись зарегистрирована.

Я связался со своим хостом, они сказали мне, что это проблема с программированием.

Как я могу решить эту проблему, чтобы оба адреса представляли один и тот же доступ / сеанс / файлы cookie?

Я использую PHP и MySQL

Комментарии:

1. И вы устанавливаете файл cookie доступным для всех доменов, используя косую черту в качестве пути к домену. Смотрите setcookie ("TestCookie", "", time() - 3600, "/", ".example.com", 1);

Ответ №1:

www.example.com и example.com , по-видимому, являются двумя разными доменами для браузера, хотя они оба ведут на один и тот же сайт. То же самое произошло бы, если бы вы припарковали там другой домен, скажем, example.net .

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

 RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
  

или

 RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]
  

(первый удаляет, второй добавляет www)

Комментарии:

1. Это также избавит вас от головной боли, если вы решите перейти на HTTPS, а специалисты по SEO, с которыми я работал в прошлом, упоминали, что это помогает избежать обвинений поисковых систем в «дублировании контента».

2. Что ж, проблемы с дублирующим контентом можно избежать, используя канонический URL, но ваше замечание по-прежнему справедливо, спасибо :).

Ответ №2:

Как я могу решить эту проблему, чтобы оба адреса представляли один и тот же доступ / сеанс / файлы cookie?

Вы должны указать доменный путь вашего файла cookie следующим образом, чтобы сделать его доступным на всех поддоменах: (www — это поддомен):

.domain.com

Комментарии:

1. Любой домен с префиксом www обычно называется ОТКРЫТЫМ ДОМЕНОМ

Ответ №3:

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

Комментарии:

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