LEER EL ULTIMO POST QUE DEJÉ ACA ABAJO.... AHI ESTÁ EL PROBLEMA QUE SURGIÓ AHORA.
GRACIAS.
| |||
Re: Quitar caracter "+" en una url [urgente] NachoX, Esto es algo que podés corregir rápidamente modificando la línea del mod_rewrite: Actualmente tenés: RewriteRule ^descargar-([-&!&_a-zA-Z0-9]*).html index.php?seccion=pver&nombre=$1 Este fragmento: [-&!&_a-zA-Z0-9]* es una expresión regular (http://en.wikipedia.org/wiki/Regular_expression) que define que caracteres son aceptados para coincidir en la búsqueda. Para aceptar el caracter '+' deberías agregarlo allí, reemplazando: [-&!&_a-zA-Z0-9]* por [-&!&_a-zA-Z0-9+]* O si directamente no te interesa qué caracteres pueden llegar y querés que cualquier URL de la forma descarar-... sea aceptada: RewriteRule ^descargar-(.*).html index.php?seccion=pver&nombre=$1 Espero te sea de utilidad. Saludos! |
| ||||
Re: Quitar caracter "+" en una url [urgente] [-&!&_a-zA-Z0-9+]* No estoy muys eguro, pero en todo caso no habria que escapar ese +? [-&!&_a-zA-Z0-9\\+]* O algo asi xD.. Ya si lo que quieres es quitar el caracter de la url, modifcando tu funcion que ya tienes un poco.. Código PHP:
__________________ Sin Ideas |
| ||||
Re: Quitar caracter "+" en una url Gracias por las respuestas, pero ahora me he fijado que el problema es otro. En cada página y por seguridad obligatoria del servidor, tengo que usar la variable $GET['nombre']; que es la que obtiene el nombre de un programa, para asi poder mostrar el registro ligado a ese nombre de programa, me explico: Tu haces click en: descargar-programa_para_c++.html entonces la pagina que lee eso para mostrar ese programa dice:
Código:
Entonces cuando un caracter del tipo "+" pasa por la url interna, lo limpia el $GET['nombre']; y finalmente la pagina no lee ese registro y por ende no muestra nada..... porque si $GET lo limpia, en vez de leer internamente (y mostrar ese registro):$nombre = $_GET['nombre']; $nombre = str_replace(" ","_",$nombre); $sql=mysql_query("SELECT * FROM programas WHERE nombre='$nombre'"); while($row=mysql_fetch_array($sql)){ descargar-programa_para_c++.html Va a leer: descargar-programa_para_c.html Y por ende la pagina saldrá en blanco, pues ese registro no existiría con ese nombre. Esa es mi duda ahora.... QUE PUEDO HACER??? De antemano Gracias a los que responda, y MIL GRACIAS a los que ya han respondido lo anterior. Saludos! |
| ||||
Re: Quitar caracter "+" en una url EL problema no lo genera el $_GET si tuvieras registers globals en off y pudieras acceder a la variable $nombre directamente tambien no estarian los caracteres que usa la url. Te diria que saques los caracteres que molesten del nombre, y si eso los cambia mucho el nombre, podes hacer otro campo en la tabla y guardarlo ahi para filtrar por ese campo en vez de por nombre... Otra solucion que podes probar es en cada lugar que enlaces al programa mostrar el nombre con urlencode() con eso vas a poder "escapar" los caracteres como + y despues usar el nombre original (usando urldecode()). La desventaja de esto es que el nombre del archivo quedaria algo asi como programa-para_c%23%23.html lo que es un poco molesto. PD.: No elimines los mensajes que hallas escrito hasta ahora, le pueden servir a alguien mas...
__________________ JmN |