2011-11-10 10 views
6

Ho un sito web. Se faccio il login nel dominio di questo formato http://example.com e quindi modificare il mio indirizzo di http://www.example.com, trovo il mio account non è connesso. Se cambio l'indirizzo a http://example.com, trovo il mio conto è connesso.Perché "www.example.com" non è lo stesso di "example.com"?

ho contattato il mio host, mi hanno detto che è un problema di programmazione.

Come posso risolvere questo problema in modo che entrambi gli indirizzi rappresentino lo stesso accesso/sessione/cookie?

Sto utilizzando PHP MySQL &

+0

E si imposta il cookie disponibile per tutti i domini utilizzando una barra come percorso del dominio. Vedere 'setcookie (" TestCookie "," ", time() - 3600,"/"," .example.com ", 1);' – Mob

risposta

9

www.example.com e example.com sono due domini diversi come per quanto riguarda il browser, a quanto pare, anche se entrambi dirigono verso lo stesso sito. Lo stesso potrebbe accadere se parcheggiate un dominio diverso lì, per esempio, example.net.

Per risolvere il problema, è piuttosto comune riscrivere l'URL tramite .htaccess. Decidere su cui nome di dominio si preferisce utilizzare e aggiungere qualcosa di simile al tuo .htaccess:

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

o

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

(il primo rimuove, la seconda si aggiunge il www)

+0

Ciò consente di risparmiare anche i mal di testa se decidi di passare a HTTPS, e le persone SEO con cui ho lavorato in passato hanno menzionato che questo aiuta a evitare il dinging per "contenuti duplicati" da parte dei motori di ricerca. –

+0

Bene, il problema dei contenuti dupe può essere evitato usando un URL canonico, ma la tua osservazione è ancora valida, grazie :). – mingos

6

come posso risolvere questo problema in modo entrambi gli indirizzi rappresentano stessi accesso/sessione/cookie?

è necessario impostare il percorso di dominio del biscotto come questo per renderlo disponibile su tutti i sottodomini: (www è un sottodominio):

.domain.com

+1

Qualsiasi dominio con prefisso www viene in genere definito come NAKED DOMAIN – madhairsilence

-1

Non è lo stesso .. di solito puoi andare su www.example.com semplicemente scrivendo example.com al tuo browser, ma il tuo browser ha aggiunto www alla tua url .. così semplicemente non è lo stesso

+2

Una valutazione accurata, ma non fornisce alcuna informazione utile per aiutare a risolvere l'OP (suppongo che questo sia il motivo per cui questa risposta è stata declassata). –

Problemi correlati