#+TITLE: Reescribir URLs con mod_rewrite en Apache #+AUTHOR: Osiris Alejandro Gómez #+EMAIL: osiux@osiux.com #+LANGUAGE: es #+LINK_HOME: index.html #+INCLUDE: header.org #+DATE: 2010-05-12 17:46 #+HTML_HEAD: <meta property="og:title" content="Reescribir URLs con mod_rewrite en Apache" /> #+HTML_HEAD: <meta property="og:type" content="article" /> #+HTML_HEAD: <meta property="og:article:published_time" content="2010-05-12" /> #+HTML_HEAD: <meta property="og:article:author" content="Osiris Alejandro Gómez" /> #+HTML_HEAD: <meta property="og:url" content="https://osiux.com/apache-mod-rewrite-htaccess.html" /> #+HTML_HEAD: <meta property="og:site_name" content="OSiUX" /> #+HTML_HEAD: <meta property="og:locale" content="es_AR" /> ** Migrando URLs Tuve que migrar de servidor y además cambié la url de http://blog.osiux.com a http://osiux.com. Así que para no perder los enlaces de otros sitios y buscadores a http://blog.osiux.com los tuve que redireccionar manteniendo las urls anteriores hacia el nuevo sitio. Para hacer esto basta con crear un archivo =.htaccess= con las reglas que definen la reescritura de la url. ** =mod-rewrite= Es necesario habilitar el módulo de apache: #+BEGIN_SRC sh :exports code a2enmod rewrite #+END_SRC En el =.htaccess= de http://blog.osiux.com definí lo siguiente: #+BEGIN_EXAMPLE RewriteEngine On RewriteBase / RewriteRule ^/$ http://osiux.com/ RewriteRule ^(tutorial/)$ http://osiux.com/find/$1 #RewriteRule ^\=(.+)$ http://osiux.com/find/$1 RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^(.*)$ http://osiux.com/find/%1 RewriteRule ^(buenos-aires-libre)/$ http://osiux.com/find/$1 RewriteRule ^200./(.+)/$ http://osiux.com/find/$1.txt RewriteRule ^category/(.+)/$ http://osiux.com/find/$1 RewriteRule ^(tag)/(.+)/$ http://osiux.com/find/$2 RewriteRule ^(.+)\.txt$ http://osiux.com/$1.txt #+END_EXAMPLE ** Referencias * http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html#default-mod-rewrite-hint * http://www.sinctrl.com/2008/04/14/%C2%BFque-son-las-rewrite-rules/ * http://www.askapache.com/htaccess/ultimate-htaccess-file-sample.html * http://briancray.com/2010/03/18/htaccess-hack-remove-url-query-strings/ * http://corz.org/serv/tricks/htaccess2.php