2011-11-10 7 views
6

Mam stronę internetową. Gdybym zalogować się w domenie tego formatu http://example.com a następnie zmienić adres do http://www.example.com uważam, że moje konto nie jest zalogowany. Jeśli zmienię adres do http://example.com, znajdę moje konto jest zalogowany.Dlaczego "www.example.com" nie jest takie samo jak "example.com"?

Skontaktowałem moim gospodarzu, powiedzieli mi, że jest to problem programistyczny.

Jak mogę rozwiązać ten problem, aby oba adresy reprezentowały ten sam dostęp/sesję/pliki cookie?

używam PHP & MySQL

+0

Ustawiasz ciasteczko dostępne dla wszystkich domen, używając slasha jako ścieżki domeny. Zobacz 'setcookie (" TestCookie "," ", time() - 3600,"/"," .example.com ", 1);' – Mob

Odpowiedz

9

www.example.com i example.com są dwie różnych dziedzinach tak jak przeglądarka, widocznie, mimo że obaj kierują się bezpośrednio do tej samej witryny. Tak by się stało, gdybyś zaparkował inną domenę, powiedzmy, example.net.

Aby rozwiązać problem, często przepisuje się adres URL za pomocą .htaccess. Decydować, która nazwa domeny wolisz używać i dodać coś takiego do pliku .htaccess:

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

lub

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

(pierwsza usuwa, drugi dodaje WWW)

+0

To także oszczędza Ci bólów głowy jeśli zdecydujesz, że chcesz przełączyć się na HTTPS, a pracownicy SEO, z którymi współpracowałem w przeszłości, wspomnieli, że pomaga to uniknąć dingowania "duplikatów" przez wyszukiwarki. –

+0

Cóż, problem z dupkiem można uniknąć, używając kanonicznego adresu URL, ale twoja uwaga jest nadal ważna, dziękuję :). – mingos

6

Jak mogę rozwiązać ten problem tak oba adresy reprezentują same dostęp/sesji/ciasteczek?

Musisz ustawić ścieżkę domeny pliku cookie jak ta, aby była dostępna dla wszystkich subdomen: (www to subdomena):

.domain.com

+1

Każda domena z prefiksem www jest zwykle określana jako NAKED DOMAIN – madhairsilence

-1

To nie to samo .. Zazwyczaj można przejść do strony www.example.com po prostu przy użyciu skryptu przyklad.pl w przeglądarce, ale przeglądarka dodała stronę www do adresu URL .. , więc zasadniczo nie jest taka sama

+2

Dokładna ocena, ale nie zawiera żadnych użytecznych informacji, które pomogą rozwiązać OP (Zgaduję, że dlatego ta odpowiedź została odrzucona). –

Powiązane problemy