Foros del Web » Programando para Internet » PHP »

Urls amigables, error en regla o .php

Estas en el tema de Urls amigables, error en regla o .php en el foro de PHP en Foros del Web. Buenas noches a todos. Estuve viendo en la red y en vuestro foro todo lo relacionado con urls amigable para poder solucionar éste problema. Tengo ...
  #1 (permalink)  
Antiguo 06/06/2008, 14:32
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Urls amigables, error en regla o .php

Buenas noches a todos.

Estuve viendo en la red y en vuestro foro todo lo relacionado con urls amigable para poder solucionar éste problema.

Tengo el siguiente url:

http://www.midominio.com/index.php?mod=articulos&id_fam=10

pero yo quisiera obtener lo siguiente:

http://www.midominio.com/articulos/10.html

Ahora en el archivo .htaccess tengo :

RewriteEngine on
RewriteRule ^(.+)\/(.+)\.html$ /index.php?mod=$1&id_fam=$2

Pero lamentablemente obtengo :

http://www.midominio.com/index.php?articulos/10

En mi arhivo php tengo lo siguiente:

Código PHP:
echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$modulo.'/'.$fi->getId().'">'.$fi->getDescripcion().'</a>'
En realidad no sé donde esta el error, si es el archivo .htaccess(en mi regla), o el archivo .php ??????

Espero que me puedan ayudar ya que llevo tiempo con este problemilla.

Saludos a todos.
  #2 (permalink)  
Antiguo 06/06/2008, 15:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Urls amigables, error en regla o .php

... parece estar bien la regla (no me creas tampoco, no me manejo en expresiones regulares).

La pregunta es, ¿qué entregan tus métodos que ocupas para construir la URL?... sin saberlo, sin ver tu código y sin tener la menor idea de que intentes hacer... creo que no (no deberían y los nombres de los métodos así lo sugieren). Entonces, ¿no te falta concatenar las partes faltantes?
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 07/06/2008, 07:16
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Urls amigables, error en regla o .php

Lo que pasa que esos métodos o funciones son los atributos de mis objetos y es por eso que accedo de esa manera.

Volviendo al tema como puedo solucionar este problema de las urls amigables...

Saludos
  #4 (permalink)  
Antiguo 07/06/2008, 08:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Urls amigables, error en regla o .php

yo hago algo muy simple, en ves de agregar regla por regla...

solo escribo unas cuantas reglas generales... permitiendo extensiones, y negando carpetas y archivos de sistema.....

al final, lo que se pueda reescribir (que es casi todo) lo redirijo a mi único controlador frontal ... el index.php (o como le llame) ya de ahí... mediante a una expresión regular extirpo la URL reescrita desde $_SERVER['REQUEST_URI'] y ya.....

luego, un simple explode() y separamos los segmentos.... mediante otras funciones, hacemos que los segmentos se conviertan en parejas, o individuales..... ahh, y claro.... como también puede ser configurado un sufijo (épicamente .html) siempre es eliminado .... ya que no tiene importancia real


la magia de esto es la siguiente....

Código:
esta/es/una/url/magica
un simple explode() la convierte en un arreglo... simple

Código:
seccion/libros/area/comics
este, lo podemos convertir en un arreglo de parejas....

Código PHP:
array(  // este es el resultado...
  
'seccion' => 'libros',
  
'area' => 'comics'
); 
esto, nos permite "controlar" mejor la información... en ves de abrir el .htaccess cada ves que algo se nos ocurra.... suerte!

ademas, nos ofrece un tipo de configuración de entrada (controlador) excepcional... y fácil
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 07/06/2008 a las 08:53
  #5 (permalink)  
Antiguo 07/06/2008, 13:06
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Urls amigables, error en regla o .php

Cita:
Iniciado por JuanKa Ver Mensaje
Lo que pasa que esos métodos o funciones son los atributos de mis objetos y es por eso que accedo de esa manera.
Conceptualmente, un atributo no es un método, son cosas distintas. Y un método no es una "función" (que lo es, pero al trabajar con objetos cambia su concepto).

Y sí, usas objetos, no dije que no los usaras o algo como para decir eso. No entiendo la razón de tu comentario.

Mencioné en mi mensaje anterior que, sin saber qué hace tu código, creo las variables tienen solo los valores de las secciónes. Vámos que sí haces...
Código PHP:
echo $modulo// Imprimirá 'articulos' y no más.
echo $fi->getId(); // Imprimirá '10' y NO MÁS 
... si esto es así, sería un bien comportamiento. ¿Notas como --tú-- estás armando tu enlace?, ¿no te falta algo? (como concatenar con el nombre de las variables, cuando tienes solo el valor), ¿o no?, ¿$modulo tiene todo el 'mod=articulos'?

A ver si ahora con estas preguntas puedo explicarme mejor.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 07/06/2008, 13:32
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Urls amigables, error en regla o .php

Gracias jam1138 por aclarar las cosas.

Amigo pateketrueke gracias por responder a mi pregunta, lo que no he comentado sobre esto de las urls amigables, es que todo el control de mi web va por el index.php y segun los parametros que envio, llamo a su respectiva funcion.

Por otro lado amigo no sé, si sera posible que postearas un ejemplo de como haces tú..... para tomarlo como referencia.


Saludos
  #7 (permalink)  
Antiguo 08/06/2008, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Urls amigables, error en regla o .php

lo que pasa... es que no uso PHP a pelo.... mas bien, trabajo con mi propio framework...

desde el cual "controlo" todas las peticiones basadas en la URL .....

lo que si, es que hago esto para hacerlo...

digamos que la peticion es web.com/index.php/controlador/modelo/accion/a/b/c

siendo... controlador un archivo PHP
modelo, es mas bien.... el metodo

y accion, quiza... son solo datos, demás de a,b,c

eso es toda la logica que manejo... de ahi en fuera, todo son clases y metodos, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 02:27.