lms
Administrador
- Mensajes
- 7.741
- Puntuación de reacciones
- 2.163
- Puntos
- 2.613
- Sitio web
- xenfacil.com
- Versión de XenForo
- 2.1.x
- Página web
- Web
Crear una redirección a 301 forzando a todas peticiones http a usar bien www.domain.com o domain.com:
Ejemplo 1 - Redireccionar domain.com a www.domain.com:
Ejemplo 2 - Redireccionar www.domain.com a domain.com:
Explicación de esta redirección 301 por .htaccess:
En el ejemplo 1 - Se redirecciona domain.com a www.domain.com. La primera línea llama a apache a iniciar el módulo rewrite. La siguiente línea:
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
indica que la siguiente regla sólo funciona cuando la llamada al host (o urls que apunten a ese host) NO es (- indicado con "!") www.domain.com.
El $ significa el fin para el host del dominio www.domain.com y el resultado es que todas las páginas de www.domain.com seguirán la siguiente regla de reescritura. Combinado con el inversor "!" el resultado es que cada host que no sea www.domain.com se redireccionará a ese dominio.
La etiqueta [NC] indica que el host no distingue mayúsculas de minúsculas. Se "escapa" el "." porque es un carácter especial (normalmente, el punto (.) es un carácter sin especificar).
La línea final describe la acción que se va a ejecutar:
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
El ^(.*)$ es un pequeño truco mágico. ¿Puedes recordar el significado del punto? Representa a cualquier carácter (pero sólo a uno). Así, .* significa que puede ser cualquier conjunto de caracteres, no sólo uno. Por ello ^(.*)$ contiene la url solicitada, sin el dominio.
La parte http://www.domain.com/$1 describe el objetivo de la regla de reescritura. Este es el nombre final que se usa para nuestro dominio, donde $1 contiene el contenido de (.*).
La siguiente parte también es importante, ya que genera la redirección 301 de forma automática: [L,R=301]. L significa que es la última regla a ejecutar. Tras esta reescritura el servidor devuelve un resultado. R=301 significa que el servidor devuelva permanentemente un movimiento 301 a la solicitud del navegador o de los motores de búsqueda.
En resumen: Con tres líneas henos redireccionado todo lo que no se llame como queremos que se nombre a nuestro dominio a nuestro dominio.
Salud2
Ejemplo 1 - Redireccionar domain.com a www.domain.com:
Insertar CODE, HTML o PHP:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
Insertar CODE, HTML o PHP:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
Explicación de esta redirección 301 por .htaccess:
En el ejemplo 1 - Se redirecciona domain.com a www.domain.com. La primera línea llama a apache a iniciar el módulo rewrite. La siguiente línea:
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
indica que la siguiente regla sólo funciona cuando la llamada al host (o urls que apunten a ese host) NO es (- indicado con "!") www.domain.com.
El $ significa el fin para el host del dominio www.domain.com y el resultado es que todas las páginas de www.domain.com seguirán la siguiente regla de reescritura. Combinado con el inversor "!" el resultado es que cada host que no sea www.domain.com se redireccionará a ese dominio.
La etiqueta [NC] indica que el host no distingue mayúsculas de minúsculas. Se "escapa" el "." porque es un carácter especial (normalmente, el punto (.) es un carácter sin especificar).
La línea final describe la acción que se va a ejecutar:
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
El ^(.*)$ es un pequeño truco mágico. ¿Puedes recordar el significado del punto? Representa a cualquier carácter (pero sólo a uno). Así, .* significa que puede ser cualquier conjunto de caracteres, no sólo uno. Por ello ^(.*)$ contiene la url solicitada, sin el dominio.
La parte http://www.domain.com/$1 describe el objetivo de la regla de reescritura. Este es el nombre final que se usa para nuestro dominio, donde $1 contiene el contenido de (.*).
La siguiente parte también es importante, ya que genera la redirección 301 de forma automática: [L,R=301]. L significa que es la última regla a ejecutar. Tras esta reescritura el servidor devuelve un resultado. R=301 significa que el servidor devuelva permanentemente un movimiento 301 a la solicitud del navegador o de los motores de búsqueda.
En resumen: Con tres líneas henos redireccionado todo lo que no se llame como queremos que se nombre a nuestro dominio a nuestro dominio.
Salud2