Redireccionamiento de un dominio de la WWW a uno que no lo sea
# 301 redirect(redirección permanente) de http://www.sample.com a http://sample.comRewriteEngine onOpciones +FollowSymLinksRewriteCond %{HTTP_HOST} ^www.sample.tld$ [NC]RewriteRule ^(.*)$ http://sample.com/$1 [R=301,L]
Redireccionamiento de un dominio a otro dominio
Supongamos que queremos redirigir todas las páginas y publicaciones de http://www.sample1.com a http://www.sample2.com. Para ello, sólo tienes que colocar el siguiente código en el archivo .htaccess de http://www.sample1.com.
# Redireccionar desde http://www.sample1.com a http://www.sample2.comRewriteEngine OnRewriteRule ^(.*)$ http://www.sample2.com/$1 [R=301,L]
Redirigir 301
La redirección del 301 también se conoce como redirección permanente. Redirige a los visitantes a una nueva página y también indica a los robots de los motores de búsqueda que la página ha sido movida permanentemente a una nueva ubicación.
Redirigir una página a una ubicación diferente –
Aquí estoy redirigiendo el URL http://sample.com/category1/page1.html a http://sample.com/category2/page2.html
# 301 Ejemplo de redireccionamientoRedirección 301 /categoría1/página1.html http://sample.com/category2/page2.html
También puede ser escrito como…
Redireccionar permanente /categoría1/página1.html http://sample.com/category2/page2.html
En el ejemplo anterior estamos estableciendo una redirección dentro del mismo sitio. Si estás planeando establecer una redirección entre dos sitios web diferentes, entonces RewriteRule es una mejor opción.
Ejemplo
Estoy usando el mismo ejemplo de la muestra1 y la muestra2
# RewriteRuleRewriteRule http://www.sample1.com/firstpage.php http://www.sample2.com/secondpage.phpRewriteRule http://www.sample1.com/category/ http://www.sample2.com/mynewcat/RewriteRule http://www.sample1.com/ http://www.sample2.com/
Redirigir todo el sitio web a la página principal de un nuevo dominio
Digamos que el código que aparece a continuación se coloca en el archivo .htaccess de Sample1, entonces cualquier url solicitada para Sample1 sería redirigida a la página principal de Sample2 (es decir, http://www.sample2.com/)
# Redirección permanente para un sitio enteroRedirección 301 / http://www.sample2.com
El código anterior también puede ser escrito como…
Redireccionamiento permanente / http://www.sample2.com
Redirigir si el archivo no existe
Si mi archivo – http://sample.com/category/page.php no existe, entonces redirige a http://sample.com/category2/subcat/. Vamos a escribirlo en el archivo .htaccess –
# Reescribir sólo si el archivo no existeRewriteCond %{REQUEST_URI} ^/categoría/(.*)/página.php$RewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^category/(.*)/page.php$ category2/subcat/$1
Redireccionar a un sub-dominio
Por ejemplo, quiero redirigir a mis visitantes a http://mysub.sample.com desde http://sample.com y luego puedes escribirlo como…
# Enviar visitantes a un subdominioRewriteCond %{HTTP_HOST} !^$RewriteCond %{HTTP_HOST} !^subdominio.dominio.com$ [NC]RewriteRule ^/(.*)$ http://mysub.sample.com/$1 [L,R=301]
Arreglar el problema del contenido duplicado usando la reescritura
Por ejemplo – mi sitio web www.sample.com tiene una página web que se mostraría cuando el usuario introduce cualquiera de las siguientes url en el navegador –
http://www.sample.com/mypage
http://www.sample.com/mypage?id=94
Si consideras el SEO entonces estas páginas pueden ser tratadas como páginas duplicadas por lo que para evitar tal situación puedes redirigir las páginas de segundo tipo a la primera.
RewriteCond %{THE_REQUEST} ^GET /.*;.* HTTP/RewriteCond %{QUERY_STRING} !^$RewriteRule .* http://www.sample.com%{REQUEST_URI}? [R=301,L]
Después de tener el código anterior en .htaccess, cuando el usuario entra en la url – http://www.sample.com/mypage?id=94, sería redirigido a la – http://www.sample.com/mypage