Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/03/2011, 16:44
RodrigoG
 
Fecha de Ingreso: diciembre-2009
Ubicación: dirname(__FILE__)
Mensajes: 149
Antigüedad: 14 años, 11 meses
Puntos: 11
Respuesta: URL amigable en PHP con .HACCESS

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule demo/(.+)/(.+).php$ demo/index.php?url=$1

Funciona si lo llamas desde
http://www.anhida.es/demo/guias.php

Para que funcione sin el .php (lo ideal) sería:

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule demo/(.+)/(.+)$ demo/index.php?url=$1

Si en la barra de direcciones se escribe
http://www.anhida.es/demo/guias
debería llamar por interno hacia:
http://www.anhida.es/demo/index.php?url=guias

Aunque está bien se podría mejorar, antes yo también ponía (.+), pero luego aquí me corrigieron diciendo que no es lo mejor :) resulta que . es cualquier caracter, por lo que la expresión se vuelve "codiciosa". Lo ideal sería cualquier caráctes menos la barra invertida y lo más ideal sólo los carácteres alfanuméricos.

Es decir:

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule demo/([a-z0-9]+)/([a-z0-9]+)$ demo/index.php?url=$1 [NC,L]

El NC indica que sea insensible a mayúsculas y minúsculas y la L que sea la última instrucción a interpretar.

Saludos y espero que te funcione.
__________________
Estreno blog ~ DesarrolladorWeb.cl :)