<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://php.apsique.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Php y otras yerbas - Drupalizando: redirección de links por mod_rewrite y mod_alias - Comentarios</title>
 <link>http://php.apsique.com/contenido/drupalizando_redireccion_links_mod_rewrite_y_mod_alias</link>
 <description>Comentarios para &quot;Drupalizando: redirección de links por mod_rewrite y mod_alias&quot;</description>
 <language>es</language>
<item>
 <title>Drupalizando: redirección de links por mod_rewrite y mod_alias</title>
 <link>http://php.apsique.com/contenido/drupalizando_redireccion_links_mod_rewrite_y_mod_alias</link>
 <description>&lt;p&gt;El cambio de backend de un sitio no concluye con el paso de toda la información pertinente. Queda un aspecto muy importante que cuidar: los links.&lt;br /&gt;
Sí, señores. No hay nada peor para las visitas que ir a su querido feed de noticias y encontrarse con un &#039;recurso no disponible&#039;. O, tan malo como eso, que nuestras queridas altas posiciones de Google se vayan a la punta del cerro.&lt;br /&gt;
No señor, eso no se puede hacer. Es poco serio y habla muy mal de nosotros. Para remediarlo, tenemos a nuestro querido &lt;b&gt;.htaccess&lt;/b&gt; de Apache.&lt;br /&gt;
&lt;!--break--&gt;&lt;br /&gt;
Lo más complicado era traspasar todas las referencias de los artículos del formato&lt;br /&gt;
&lt;code&gt;index.php/archivo/año/mes/dia/nombre&lt;/code&gt;, como por ejemplo &lt;code&gt;index.php/archivo/2003/06/09/primera-entrega&lt;/code&gt; al nodo de Drupal que corresponda. Por suerte, en el script que está en el post anterior automáticamente genera las instrucciones en el .htaccess en el formato:&lt;/p&gt;
&lt;pre&gt;
Redirect permanent  /php/index.php/archivo/2003/06/09/primera-entrega http://www.apsique.virtuabyte.cl/php/node/1
&lt;/pre&gt;&lt;p&gt;La idea es super sencilla. Lo que dice esta instrucción es que redireccione de forma permanente (porque ya no están más ahí), los URL de la forma antigua al nodo que corresponda. En este caso, el artículo de la primera entrega pasa a su nueva posición en el nodo 1!&lt;/p&gt;
&lt;p&gt;Eso es bastante sencillo. Ahora, que pasa con el infame &lt;a href=&#039;http://apsique.virtuabyte.cl/php/taxonomy/term/447&#039;&gt;Curso de PHP avanzado&lt;/a&gt;? Antes, estaban todos en /php/curso_1/. Lo que tengo que hacer es que todos los links a esa dirección vayan ahora a la categoría correspondiente, la 447 (que feo código).&lt;br /&gt;
Bueno, eso se hace con una regla como&lt;/p&gt;
&lt;pre&gt;
RewriteRule ^curso_1 taxonomy/term/447 [L]
&lt;/pre&gt;&lt;p&gt;Qué significa esto? Que cualquier URL que parta con curso_1 será transformada en &lt;code&gt;taxonomy/term/447&lt;/code&gt; ; la L significa que las transformaciones terminarán acá. Claro, podría hacer un redirect con cada una de las URL de las páginas antiguas, pero me da una lata enorme y, además, me conviene que la gente que no conocía el sitio, sino sólo el curso, esté &#039;obligada&#039; a ver todos los otros contenidos.&lt;br /&gt;
Para los feed RSS, hago algo similar&lt;/p&gt;
&lt;pre&gt;
  RewriteRule ^wp-rss.php node/feed/ [L]
  RewriteRule ^wp-atom.php atom/feed/ [L]
  RewriteRule ^feed/atom   atom/feed/ [L]
  RewriteRule ^feed/rss   node/feed/ [L]
&lt;/pre&gt;&lt;p&gt;Sí, es truco sucio tirar los feed rss y rss2 al mismo, pero aún no pillo el rss2 en las direcciones.&lt;br /&gt;
Eso sería. Si deciden migrar de un sistema a otro, no olviden hacer estos ajustes y estar atentos a los errores 404 de sus log de Apache, para hacer los reemplazos que correspondan.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Referencias:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#039;http://httpd.apache.org/docs/mod/mod_rewrite.html&#039;&gt;Apache: mod_rewrite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#039;http://httpd.apache.org/docs/mod/mod_alias.html&#039;&gt;Apache: mod_alias&lt;/a&gt;. Necesario para usar los Redirect&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://php.apsique.com/contenido/drupalizando_redireccion_links_mod_rewrite_y_mod_alias#comments</comments>
 <category domain="http://php.apsique.com/categoria/temas_generales/gran_red">La gran Red</category>
 <pubDate>Sat, 12 Feb 2005 19:57:00 -0800</pubDate>
 <dc:creator>clbustos</dc:creator>
 <guid isPermaLink="false">382 at http://php.apsique.com</guid>
</item>
</channel>
</rss>
