Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Apache (http://www.forosdelweb.com/f58/)
-   -   ayuda con urls dinámicas (http://www.forosdelweb.com/f58/ayuda-con-urls-dinamicas-589684/)

argy 24/05/2008 14:50

ayuda con urls dinámicas
 
Hola a todos, necesito una ayuda con el .htaccess, espero sus respuestas
Bueno yo tengo mis links modulares de esta manera

http://mipagina.com/?seccion=seccion1
http://mipagina.com/?seccion=seccion2

y así sucesivamente, y también utilizo dos variables como por ejemplo

http://mipagina.com/?seccion=seccion1&id=1.

Para convertirlo a urls dinámicas, utilizo este archivo .htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-_]+)\.html/?$ ./?seccion=$1 [NC,L] //para una variable
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)\.html/?$ ./?seccion=$1&id=$2 [NC,L] //2 variables


Cosa que obtengo link como estos:

http://mipagina.com/seccion1.html
http://mipagina.com/seccion1/1.html me funcionan perfectamente

Pero aquí va mi consulta yo quiero poner este link

http://mipagina.com/seccion1.html?id=1

entonces tengo el problema que no puedo recibir por get la variable id,no lo encuentro, espero que me puedan ayudar en solucionarlo

Aclaro: yo quiero que por ejemplo digamos tengo una noticia, entonces la noticia tiene comentarios, para ver estos comentarios debo de obtenerlos con el id de noticia, tal como lo ven en el link anterior

Nota: he intentado quitándole la última línea del archivo .htaccess (2 variables) pero es igual

GatorV 24/05/2008 16:05

Respuesta: ayuda con urls dinámicas
 
Tema trasladado a Apache.

j_aroche 29/05/2008 11:23

Respuesta: ayuda con urls dinámicas
 
Cita:

Pero aquí va mi consulta yo quiero poner este link

http://mipagina.com/seccion1.html?id=1
No estoy seguro, pero creo que funciona si agregas a la regla el que adjunte el Query String de la URL asi:


Código:

RewriteRule ^([A-Za-z0-9-_]+)\.html/?$ ./?seccion=$1 [QSA,NC,L]
Entonces apache debería pasar automáticamente el ?id=1 en la URL

Logout 31/05/2008 00:28

Respuesta: ayuda con urls dinámicas
 
Hola agrv,

Yo hice cosas asi para la una web, trate de escapar el signo de esta forma \\?, me acabé dando cuenta de que no era totalmente correcto el funcionamiento.

El mode_rewrite del apache no hace uso lo que está después del signo ?, para hacer comparaciones y sustitución. Finalmente lo resolví ocupando RewriteCond y las variables predefinidas del servidor.

Creo que lo esto te puede servir para lo que deseas hacer.

RewriteCond %{QUERY_STRING} id=([\d]+)
RewriteRule ^((?:[\w-_]+)([\d]+))\.html$ seccion=$1&id=%1 [L]

QUERY_STRING es una variable predefinida y toma todo lo que va después del signo ?
para hacer referencia a ese subpatrón usamos %, es parecido al lo que hacemos con $ en el RewriteRule
?: es para que no capture el subpatron que está dentro de (?: <algo> )

Espero te sirva,

Logout.

argy 31/05/2008 12:50

Respuesta: ayuda con urls dinámicas
 
Gracias por sus respuestas probaré ho y mismo, después les escribo para deciles si me funicionó o no, solamente una pregunta antes j_aroche, para que sirve el modificador QSA y a Logout me puedes explicar un poquito más eso de ?:, espero que no sea mucha molestia gracias.

argy 04/06/2008 21:02

Respuesta: ayuda con urls dinámicas
 
hola, de nuevo, bueno otra vez gracias me funcionó chévere asi q les agradezco, además busque información de mis preguntas que les hice asi que aprendi bastante jajaja.


La zona horaria es GMT -6. Ahora son las 21:35.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.