Foros del Web » Administración de Sistemas » Apache »

[SOLUCIONADO] Problemas con Mod_rewrite y caracteres especiales

Estas en el tema de Problemas con Mod_rewrite y caracteres especiales en el foro de Apache en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/01/2013, 21:01
 
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?
  #2 (permalink)  
Antiguo 26/01/2013, 00:19
 
Fecha de Ingreso: marzo-2012
Mensajes: 14
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problemas con Mod_rewrite y caracteres especiales

Solucione el problema y ahora todo funciona de 100%.

El nuevo problema es el siguente, tengo este codigo y es todo un problema y fastidioso tener que aplicarlo asi siempre para todas las urls:

Código:
echo"<a href='eventos/".$f['id']."/";
echo urla("".$f['titulo']."");
echo"'>a</a>";
Es que para aplicar la funcion necesito un "echo nombre_funcion("url");"

Asi que no puedo aplicar el <a href=''> dentro de ella, alguna sugerencia de como poder hacerlo?

Literalmente estoy rodeando la funcion con los codigos.

Última edición por rodriguezricardo00; 26/01/2013 a las 00:42

Etiquetas: amigables, htaccess, php, rewrite, rewriterule, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.