redirecciones de htaccess 301 multisitio

2

Tengo una instalación de subdominio multisitio con 3 sitios. 2 de los sitios usan mapeo de dominio.

El sitio principal (id = 1) requiere varios 301 que son páginas antiguas de una estructura anterior como:

Redirect 301 /about/careers/ /contact/careers/

Uno de los otros sitios (id = 3) tiene contenido que se ha movido al sitio principal. Normalmente, redirigiría esto en el .htaccess de ese sitio:

Redirect 301 /news/events/ http://domain.com/news/events/

Multisite solo tiene un archivo .htaccess. ¿Hay alguna manera de agregar 301 redirecciones para cada sitio / dominio individual desde el archivo principal .htaccess?

    
pregunta Mr Jonny Wood 20.03.2013 - 17:47

2 respuestas

3

Está bien,

RewriteEngine On
RewriteBase /

# Blog ID1 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\.)?primary-domain.co.uk [NC]
RewriteRule ^about/careers/$ contact/careers/ [R=301,NC,L]
RewriteRule ^glossary.html$ sitemap/ [R=301,NC,L]

# Blog ID3 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\.)?mapped-domain3.co.uk [NC]
RewriteRule ^about/$ http://primary-domain.co.uk/about/ [R=301,NC,L]
RewriteRule ^news/$ http://primary-domain.co.uk/news/ [R=301,NC,L]

Esto funciona, hay 158 líneas más en mi sitio en particular, pero entiendes la idea. No había encontrado una solución clara para esto, pero este artículo me ayudó masivamente.

Espero que esto ayude a cualquier otra persona que busque la misma solución;)

    
respondido por el Mr Jonny Wood 20.03.2013 - 23:32
2

También utilicé la información anterior para resolverlo en mi sistema. Pero en la implementación descubrí que tenía que estructurarlo como tal.

RewriteEngine On
RewriteBase /

# Website site-1 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com [NC]
RewriteRule ^that-one-page-old/$ that-one-page-new/ [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com [NC]
RewriteRule ^that-other-page-old.php$ that-other-page-new/ [R=301,L]

Si no lo estructurara de esta manera, that-one-page-old / funcionaría como debería, pero las siguientes reglas (that-other-page-old.php) se aplicarían a todos los dominios del sistema. Con el listado como se muestra arriba, entonces cada regla solo se aplica al dominio deseado. Espero que ayude a cualquiera que tenga el mismo problema que yo.

    
respondido por el Casper 16.07.2013 - 00:01

Lea otras preguntas en las etiquetas