coursera - building web applications in php
¿Por qué "www.example.com" no es lo mismo que "example.com"? (3)
Tengo un sitio web Si inicio sesión en el dominio de este formato http://example.com y luego cambio mi dirección a http://www.example.com , veo que mi cuenta no ha iniciado sesión. Si cambio la dirección a http: / /example.com , encuentro que mi cuenta ha iniciado sesión.
Contacté a mi anfitrión, me dijeron que era un problema de programación.
¿Cómo puedo resolver este problema para que ambas direcciones representen el mismo acceso / sesión / cookies?
Estoy usando PHP y MySQL
¿Cómo puedo resolver este problema para que ambas direcciones representen el mismo acceso / sesión / cookies?
Debe configurar la ruta del dominio de su cookie de esta manera para que esté disponible en todos los subdominios: (www es un subdominio):
.domain.com
No es lo mismo ... por lo general, puedes ir a www.example.com con solo escribir example.com a tu navegador, pero tu navegador agregó www a tu url ... así que básicamente no es lo mismo
www.example.com
y example.com
son dos dominios diferentes en lo que respecta al navegador, aparentemente, a pesar de que ambos dirigen al mismo sitio. Lo mismo sucedería si estacionara un dominio diferente allí, digamos example.net
.
Para resolver el problema, es bastante común reescribir la URL a través de .htaccess. Decida qué nombre de dominio prefiere usar y agregue algo como esto a su .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]
(el primero elimina, el segundo agrega el www)