ccc

Redirecciones 301 con PHP

header("Status: 301 Moved Permanently");
header("Location: http://www.ejemplo.es");

De una página a otra:
RedirectMatch 301 /critica-la-decandencia-absoluta-de-los-oscars-2023 /critica-la-decadencia-absoluta-de-los-oscars-2023

Redirigir de un dominio concreto a otro pero SOLO en determinados casos:
RewriteCond %{HTTP_HOST} ^midominiouno\.agencia24\.com$ [NC]
RewriteRule ^(yoigo.*|internet.*|fibra.*|energia.*|luz.*|gas.*|movil.*)$ https://dos.es/$1 [R=301,L]
Así https://midominiouno.agencia24.com/gas-lo-que-sea se redirige a https://dos.es/gas-lo-que-sea

Otro ejemplo:
RewriteCond %{HTTP_HOST} ^www\.dos\.com$ [NC]
RewriteRule ^(viento.*)$ https://www.uno.com/$1 [R=301,L]
De https://dos.com/viento-salvaje se redirige a www.uno.com/viento-salvaje

Si no se quiere poner todos los condicionantes en una sola línea para q sea más legible se puede hacer para cada uno de ellos así:
RewriteCond %{HTTP_HOST} ^miempresa\.agencia24\.com$ [NC]
RewriteRule ^(yoigo.*)$ https://uno.es/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^miempresa\.agencia24\.com$ [NC]
RewriteRule ^(internet.*)$ https://uno.es/$1 [R=301,L]

Si la url contiene por ejemplo la palabra "seguros" que se redirija a otro dominio de esa misma url:
RewriteCond %{HTTP_HOST} ^uno\.com$ [NC]
RewriteRule ^.*seguros.*$ https://dos.com/$0 [R=301,L]

Se puede especificar que cumpla esa regla añadiendo una excepción concreta en la que no debe cumplirse (por ejemplo si la url contiene "actualidad-seguros"):
RewriteCond %{HTTP_HOST} ^(www\.)?uno\.es$ [NC]
RewriteCond %{REQUEST_URI} !actualidad-seguros [NC]
RewriteRule ^(.*seguros.*)$ https://dos.com/$1 [R=301,L]

Diferencias conque contenga la url exacta, que empiece por esa url o que tanto empiece/termine por esa url:
# Que coincida exactemente la URL
RewriteCond %{HTTP_HOST} ^dos\.com$ [NC]
RewriteRule ^(aaa|bbb|ccc)$ https://uno.com/$1 [R=301,L]

# Que empiece por una palabra exacta
RewriteCond %{HTTP_HOST} ^dos\.com$ [NC]
RewriteRule ^(aaa.*|bbb.*|ccc.*)$ https://uno.com/$1 [R=301,L]

# Que esa palabra esté en cualquier parte de la url
RewriteCond %{HTTP_HOST} ^dos\.com$ [NC]
RewriteRule ^(.*(aaa|bbb|ccc).*)$ https://uno.com/$1 [R=301,L]

Redirección 301 simple y directa:
Redirect 301 /noticias/internet https://uno.com/noticias/

No hay comentarios:

Publicar un comentario