Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2013, 21:01
rodriguezricardo00
 
Fecha de Ingreso: marzo-2012
Mensajes: 14
Antigüedad: 12 años, 1 mes
Puntos: 0
Problemas con Mod_rewrite y caracteres especiales

Estoy aplicando las urls amigables a mi pagina y todo va bien hasta que llego al tercer Rule.

Como pueden ver mis urls son asi "http://misitio/eventos.php?titulo=titulo". En las primeras 2 como ven reduje todos los archivos a que aparezcan sin extencion, es decir de "eventos.php" a "eventos/" en la seguna puse para el numero de paginas, de "eventos?p=1" a "eventos/pagina/1" el problema es con el tercero que es como dije "eventos.php?titulo=titulo" y abre asi "eventos/titulo de la noticia".

El problema es que abre todo bien solo si el titulo de tal noticia solo contiene una palabra, segun el RewriteRule que aplica para el titulo (la tercera) todos los espacios deberian ser un "-" pero no es asi, no lo hace, queda asi "eventos/Hola%20hola%20Hola" no se como hacer para que elimine mayusculas y caracteres especiales.

El htaccess que uso es este:

Código:
<IfModule mod_rewrite.c>
# Activar RewriteEngine
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)/$ $1.php [L]
RewriteRule ^eventos/pagina/([0-9]+)$ eventos.php?p=$1 [L]
RewriteRule ^eventos/([a-zA-z0-9_-]*)$ eventos.php?titulo=$1 [L]
</IfModule>
En esta guia [URL="http://www.baluart.net/articulo/urls-amigables-con-php"]http://www.baluart.net/articulo/urls-amigables-con-php[/URL] dicen como hacerlo, pero no se donde colocar todo ese codigo del primer paso, lo coloque en el header.php (toda mi pagina esta basada en php e includes) lo coloque antes del <doctype> y no funciona, lo coloque en eventos.php y tampoco, solo me falta poder eliminar caracteres especiales, mayusculas, acentos, etcs para que me funcione la 3ra regla. Alguna sugerencia?