Comunidad de diseño web y desarrollo en internet online

Expresion regular para url amigables.

Citar            
MensajeEscrito el 27 Dic 2011 05:14 am
Hola a todos, para empezar no se si el tema este bien ubicado aquí, de no ser el lugar correcto de antemano una disculpa.

Estoy haciendo las url amigables de un sitio, y todo marcha bien cuando hago clic en los botones del menu. Por ejemplo

mi link manda a esto :
dominio.com/buscar/categoria/subcategoria

ya en el htaccess hice las expresiones regulares para que eso se vuelva

dominio.com/buscar.php?categoria=algo&subcategoria=algo

eso ya funciona bien, si puedo recoger esas varibles get.

El problema es que eso lo hago dando clic en botones especificos, pero igual tengo una seccion de buscador, donde igual manda a la pagina buscar.

El buscador esta dentro de un formulario que manda a buscar.php y le agrega la varible buscar del campo de texto del formulario

queda algo asi

dominio.com/buscar.php?buscar=loqueescribioelusuario

pero ahi quiero que la url "amigable sea"
dominio.com/buscar/?buscar=loqueescribioelusuario

es algo como lo que tiene la pagina de taringa.net

El problema ahí es con la expresión regular que tengo que poner en el htaccess

he puesto lo siguiente

Código :

RewriteRule ^/\?buscar=([a-z,A-Z,á,é,í,ó,ú,\s]+)/?$ buscar.php?buscar=$1 [NC,L] 


y me manda a que no encuentra la pagina
también intente con esto

Código :

RewriteRule ^buscar/\?buscar=([a-z,A-Z,á,é,í,ó,ú,\s]+)/?$ buscar.php?buscar=$1 [NC,L]


pero sigue sin funcionar

no se que expresión regular usar para que esto funcione.

Alguna pista para hecharlo a andar??

De antemano gracias por la ayuda.

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

chrome
Citar            
MensajeEscrito el 10 Ene 2012 03:21 am
Si estas iniciando tu desarrollo, intenta con codeigniter, y olvidate de ese problema

Por knd?rt

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2012 12:44 pm
Me parece que tu problema parte del hecho que en la reescritura siempre incluyes la palabra "buscar" y no necesitas hacerlo. La URL amigable bien puede ser así:

Código :

dominio.com/categoría/subcategoria/

Y dejar la palabra "buscar" para realmente realizar esa acción, de forma tal que si donde va "categoría" está la palabra "buscar", lo que está en "subcategoría" es el o los términos de búsqueda.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 10 Ene 2012 05:27 pm

knd?rt escribió:

Si estas iniciando tu desarrollo, intenta con codeigniter, y olvidate de ese problema


Hola buen dia Knd?rt, ya habia escuchado sobre este framework, pero ya tengo casi desarrollado todo el proyecto, por lo cual no me convendria mucho adaptarme al framework. La ventaja tambien de que lo haya hecho sin ayuda de un framework, es que aprendi como hacer cosas que ni idea jejeje, pero en fin, seguramente si lo utilizare en desarrollos posteriores, gracias por tu apoyo.


Saludos cordiales

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

chrome
Citar            
MensajeEscrito el 10 Ene 2012 05:30 pm

DriverOp escribió:

Me parece que tu problema parte del hecho que en la reescritura siempre incluyes la palabra "buscar" y no necesitas hacerlo. La URL amigable bien puede ser así:

Código :

dominio.com/categoría/subcategoria/

Y dejar la palabra "buscar" para realmente realizar esa acción, de forma tal que si donde va "categoría" está la palabra "buscar", lo que está en "subcategoría" es el o los términos de búsqueda.


Hola driverop, caray mira que por eso estos foros son de gran utilidad,no me habia pasado por la cabeza utilizar esa opcion de que

Código :

dominio.com/categoría/subcategoria/
y que si en categoria viene la palabra buscar yo en mi codigo interno de php haga que tome como termino de busqueda lo que viene en subcategoria.

Muchas gracias seguramente si lo realizare asi, ahorita detuve un poco lo de las url amigables ya que me concentre en todo la otra parte del desarrollo.

Gracias driverOp, saludos cordiales

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

chrome
Citar            
MensajeEscrito el 25 Feb 2012 07:42 am

Querido amigo. Esto te va a funcionar 100% probado y Funcionando!
Luego de unas modificaciones que le hice, pues aquí te agrego el código.


Solo debes abrir tu documento HTACCESS como un archivo .TXT y pegar este código:

Código :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php


Esta es la solución perfecta para lograr el siguiente ejemplo:

www.misitioweb.com/noticias.php?id=12345
www.misitioweb.com/noticias?=12345

Saludos a todos!

Por merieno

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.