
Transformar las URLs de un sitio web ya sea para mejorar el SEO de nuestra web o la simple apariencia de la URL es tan fácil de lograr y no todo el mundo lo hace. Es una muy buena ventaja que debe ser aprovechada y que puede ser combinada a la perfección con el lenguaje PHP más el simple HTML.
El archivo llamado .htaccess de Apache es el encargado de esta magnificencia. Aparte de lograr restringir el acceso a archivos específicos o redireccionar URLs, en este artículo sólo veremos lo relacionado al reescribimiento de las URLs.
El .htaccess contiene su propia sintaxis. A continuación en el primer ejemplo, las dos primeras líneas son para activar el "reescribimiento" de las URLs. Luego, está escrita una regla a respetar con expresiones regulares para guiar a las URLs donde nosotros queremos.
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/$ pagina.php?miurl=$1 [L]
Con esta regla, a páginas como www.example.com/pagina.php?miurl=miperfil ahora se podrán acceder como www.example.com/miperfil/.
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)-(.*)/$ pagina.php?categoria=$1&subcategoria=$2 [L]
RewriteRule ^pagina$ pagina.php [L]
Y con esta otra, a páginas como www.example.com/pagina.php?categoria=trabajos&subcategoria=PDFs ahora se podrán acceder como www.example.com/trabajos-PDFs/. Por otro lado, a www.example.com/pagina.php se puede acceder simplemente como www.example.com/pagina.
En conclusiones:
El lado izquierdo de la regla de reescribimiento (RewriteRule) indica la URL formada, y el derecho indica la URL original. Parte de la expresión regular como (.*) y $1 indican variables, por ello, las reglas que utilizen estas combinaciones servirán para todas las URLs que cumplan tal condición.
Postear en Twitter
Postear en Facebook
Feed RSS
Agregar a Favoritos
andresuchop el 29 de Mayo del 2010:
0
Impresionante, lo estaba buscando!. Null, eres un master, yo intentaré ayudar a esta web con todo lo que pueda.
Diego Escares el 29 de Mayo del 2010:
0
Gracias, nos estamos leyendo =)
sauljp07 el 06 de Junio del 2010:
0
estaba necesitando esta informacion justo ahora, nuchas gracias.....
sauljp07 el 29 de Julio del 2010:
0
Quisiera retomar esta publicación, ya que me pidieron ayuda sobre un .htaccess, el estaba bien, y surgia el error 500 de apache, sucede que el apache no tenia activado el modulo 'rewrite_module', luego de la activacion funciono perfecto el .htaccess era muy parecido al de esta publicacion...
Diego Escares el 29 de Julio del 2010:
0
Cuando se hacen URLs amigables, siempre se empieza igual, es raro ver a alguien con algo diferente =P
emo el 30 de Julio del 2010:
0
oigan que significa este simbolo?
[L]
htaccess, urls, php, reescribimiento, rewriterule, pagina, www, example, com
¡Amigo! te demorarás 10 segundos en crear tu cuenta.
Disfrutarás de todos los beneficios de DocumentoWeb.