Foros del Web » Programando para Internet » PHP »

web modular con url amigables

Estas en el tema de web modular con url amigables en el foro de PHP en Foros del Web. hola: tengo hice una web modular en el cual el index.php es: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original <?php /**  *  @name Proyecto: Love N' ...
  #1 (permalink)  
Antiguo 06/03/2009, 13:25
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
De acuerdo web modular con url amigables

hola:
tengo hice una web modular en el cual el index.php es:
Código php:
Ver original
  1. <?php
  2. /**
  3.  *  @name Proyecto: Love N' War Arabian
  4.  *  Index.php
  5.  *  Contiene la estructura modular del sitio.
  6.  */
  7. require_once 'includes/config.php';
  8. require_once 'includes/functions.php';
  9. require_once 'includes/PHPPaging.lib.php';
  10. require_once 'includes/class.phpmailer.php';
  11.  
  12.     if (! empty ( $_REQUEST ['modules'] )) {
  13.             $modulo=MODULOS.'/'.$_REQUEST['modules'].'/index.php';
  14.     }
  15.     else{
  16.         $modulo=MODULOS.'/index/index.php';
  17.     }
  18.     if (file_exists($modulo)){
  19.         include ($modulo);
  20.         //redirect($modulo);
  21.     }
  22.     else{
  23.         redirect('error404.php');
  24.     }
  25. ?>

y me arma las url asi:
www.pagina.com/index.php (para el home o modulo por defecto)
http://www.pagina.com/index.php?modu...scription&id=7
http://www.pagina.com/index.php?modu...ry&verPagina=2
http://www.pagina.com/index.php?modu...tion=more&id=6
etc
yo me gustaria que quede de este modo:
http://www.pagina.com/nombredelmodul...pcion/numeroid

www.pagina.com/home
www.pagina.com/description/id/7
www.pagina.com/gallery/verPagina/2
www.pagina.com/horses/more/id/6

estuve probando algunos de los ejemplos que hay en la web pero no me fucionan no me aceptan los parametros

si me pueden dar una mano desde ya muchas gracias
  #2 (permalink)  
Antiguo 06/03/2009, 13:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: web modular con url amigables

¿Usando el mod_rewrite de Apache?

Podría ser:
Código:
Rewriterule ^(.*)/(.*)/(.*)/$ index.php?modules=$1&$2=$3
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/03/2009, 14:16
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: web modular con url amigables

si había probado asi pero no funciona
cuando quiero entrar a www.pagina.com/stallions me salta error que no encuentra la pagina
  #4 (permalink)  
Antiguo 06/03/2009, 14:28
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: web modular con url amigables

tambien quiero aclarar no se si esto influye en el procesamiento de las url que en el header tengo este codigo:
Código php:
Ver original
  1. if($_SERVER['SCRIPT_NAME']!='/admin.php'){
  2.  
  3.        $id_page=idPage($_REQUEST['modules']);
  4.     //obento el id de la pagina
  5.     $page=page($id_page);
  6. }

y esas funciones tienen:
Código php:
Ver original
  1. /**
  2.  * devuelve el id de la pagina
  3.  *
  4.  * @param string $name
  5.  * @return integer
  6.  */
  7. function idPage($name){
  8.     $page=str_replace('modules=','',$name);
  9.     $sql="select id_page from config where page='$page'";
  10.     $result=mysql_query($sql);
  11.     $page=mysql_fetch_array($result);
  12.    
  13.     return $page['id_page'];
  14. }
  15.  
  16. /**
  17.  * Devuelve todos los datos de la page
  18.  *
  19.  * @param integer $id
  20.  * @return Page
  21.  */
  22. function page($id){
  23.     $sql="select * from config where id_page='$id'";
  24.     $result=mysql_query($sql);
  25.     $page=mysql_fetch_array($result);
  26.    
  27.     return $page;
  28. }

que lo que hace es buscar el id del modulo (pagina) en la base de datos, ya que tengo registros que se tienen que mostrar en ciertas paginas y en otras no....
  #5 (permalink)  
Antiguo 06/03/2009, 14:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: web modular con url amigables

Es que esa URL que mencionaste no coincide con el patrón especificado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 06/03/2009, 15:21
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: web modular con url amigables

como que no?
aca dejo la url de la pagina, cada opcion del menu es un modulo
http://www.pandemiadevelopment.com/l...veNWarArabian/

salu2
  #7 (permalink)  
Antiguo 06/03/2009, 15:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: web modular con url amigables

No entiendo lo que quieres decir.

¿Dónde están las URLs amigables?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 06/03/2009, 16:43
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: web modular con url amigables

no, pase la url de la pagina para que vean como estan armado los links

salu2
  #9 (permalink)  
Antiguo 06/03/2009, 19:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: web modular con url amigables

Pero en todos los casos en la página que muestras he visto un sólo parámetro. Por lo que debería servir algo como esto:
Código:
Rewriterule ^(.*)/$ index.php?modules=$1
¿No funciona de esa manera?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 07/03/2009, 03:47
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: web modular con url amigables

Te recomiendo este POST es demasiado Claro a lo que deseas lograr saludos.

http://www.ribosomatic.com/articulos...nuestro-sitio/
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #11 (permalink)  
Antiguo 07/03/2009, 15:56
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: web modular con url amigables

Cita:
Iniciado por David el Grande Ver Mensaje
Pero en todos los casos en la página que muestras he visto un sólo parámetro.
no, si vos entras por ejemplo a gallery y seleccionas una foto la ulr es:
index.php?modules=gallery&option=viewphoto&id=3
si entras a stallions y haces click en algun caballo te manda a :
index.php?modules=description&id=3

Cita:
Iniciado por David el Grande Ver Mensaje
Por lo que debería servir algo como esto:
Código:
Rewriterule ^(.*)/$ index.php?modules=$1
¿No funciona de esa manera?
probe y si pongo:
http://www.pandemiadevelopment.com/l...rabian/gallery
me muestra la pagina pero:
1- no interpreta el css, pareciera que no encuentra el path
2- en esta url muestro fotos y los links de cada foto son:
http://www.pandemiadevelopment.com/l...viewphoto&id=4
pero me al hacer click me manda aca:
http://www.pandemiadevelopment.com/l...viewphoto&id=4

la verdad que no pense que seria tan complicado esto de las url amigables, wordpress lo hace ver tan facil jajajaja, ojala puedan seguir dandome una mano.
desde ya muchas gracias
  #12 (permalink)  
Antiguo 07/03/2009, 15:59
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: web modular con url amigables

Cita:
Iniciado por destor77 Ver Mensaje
no, si vos entras por ejemplo a gallery y seleccionas una foto la ulr es:
Index.php?modules=gallery&option=viewphoto&id=3
si entras a stallions y haces click en algun caballo te manda a :
Index.php?modules=description&id=3


probe y si pongo:
http://www.pandemiadevelopment.com/l...rabian/gallery
me muestra la pagina pero:
1- no interpreta el css, pareciera que no encuentra el path
2- en esta url muestro fotos y los links de cada foto son:
http://www.pandemiadevelopment.com/l...viewphoto&id=4
pero me al hacer click me manda aca:
http://www.pandemiadevelopment.com/l...viewphoto&id=4

la verdad que no pense que seria tan complicado esto de las url amigables, wordpress lo hace ver tan facil jajajaja, ojala puedan seguir dandome una mano.
Desde ya muchas gracias
exelente ya aprendistes :d
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #13 (permalink)  
Antiguo 07/03/2009, 16:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: web modular con url amigables

Hay que mantener la calma .

Los enlaces que pusiste no funcionan. Así que hagamos lo siguiente, colocas la regla de reescritura que tienes en este exacto momento. Luego, coloca un enlace normal que usas, y tercero, cómo debería ser la URL amigable.

P.S.: ¿El .htaccess dónde lo tienes? Por si acaso .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 07/03/2009, 16:31
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: web modular con url amigables

el .htaccess debe ir en la Ruta principal osea en la index algo asi public_html/.htacces o httdocs/.htacces
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #15 (permalink)  
Antiguo 07/03/2009, 16:32
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: web modular con url amigables

Cita:
Iniciado por destor77 Ver Mensaje
no, si vos entras por ejemplo a gallery y seleccionas una foto la ulr es:
index.php?modules=gallery&option=viewphoto&id=3
si entras a stallions y haces click en algun caballo te manda a :
index.php?modules=description&id=3


probe y si pongo:
http://www.pandemiadevelopment.com/l...rabian/gallery
me muestra la pagina pero:
1- no interpreta el css, pareciera que no encuentra el path
2- en esta url muestro fotos y los links de cada foto son:
http://www.pandemiadevelopment.com/l...viewphoto&id=4
pero me al hacer click me manda aca:
http://www.pandemiadevelopment.com/l...viewphoto&id=4

la verdad que no pense que seria tan complicado esto de las url amigables, wordpress lo hace ver tan facil jajajaja, ojala puedan seguir dandome una mano.
desde ya muchas gracias

tal cual
los include y require son relativos a donde esta tu archivo php en tu servidor.
y los css y javascript relativos a como se ven en la barra del navegador.

yo para los javascript y css uso url absoluta
__________________
alquiler gesell
  #16 (permalink)  
Antiguo 07/03/2009, 16:32
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
tambien debes recordar la estructura.. de links.. por que si configurastes 3 variables no esperes 4 osea

pagina.php?id=2?nodo=3
pagina/2/3/

seria algo asi..

Cita:
Iniciado por acknowledge Ver Mensaje
tal cual
los include y require son relativos a donde esta tu archivo php en tu servidor.
y los css y javascript relativos a como se ven en la barra del navegador.

yo para los javascript y css uso url absoluta ej: http://www.dom.com/xxx.js

el esta en lo correcto!!
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.

Última edición por GatorV; 08/03/2009 a las 17:47
  #17 (permalink)  
Antiguo 07/03/2009, 16:56
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: web modular con url amigables

Si la estas haciendo de cero yo te recomiendo hacerla asi:

dominio.com/gallery/ver-foto3-grande-masdatos-otrodato.html

Rewriterule ^gallery/(.*)\.html$ archivo_php.php?archivo=$1

y en archivo_php.php te queda haciendo

$archivo=$_GET['archivo];
//separas $archivo mediante "-"

$trozos = explode("-", $archivo);
y trabajas con cada trozos[n] por separado como variables
__________________
alquiler gesell
  #18 (permalink)  
Antiguo 08/03/2009, 06:53
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: web modular con url amigables

se estan aogando en un vaso con agua eso es algo Facil.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #19 (permalink)  
Antiguo 08/03/2009, 10:21
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Cita:
Iniciado por David el Grande Ver Mensaje
Hay que mantener la calma .

Los enlaces que pusiste no funcionan. Así que hagamos lo siguiente, colocas la regla de reescritura que tienes en este exacto momento. Luego, coloca un enlace normal que usas, y tercero, cómo debería ser la URL amigable.

P.S.: ¿El .htaccess dónde lo tienes? Por si acaso .
ok, el .htaccess lo tengo junto al index.php dentro de la capeta loveNWarArabian de mi servidor (tengo mas carpetas de otros sites)

la regla es la siguiente:
Código:
Options +FollowSymLinks
RewriteEngine On
Rewriterule (.*)/$ index.php?modules=$1&option=$2&id=$3
este es un enlace para ver los detalles de los caballos:
http://www.pandemiadevelopment.com/l...scription&id=3

y me gustaria que quede:
http://www.pandemiadevelopment.com/l...scription/id/3

http://www.pandemiadevelopment.com/l...tion=more&id=3

que quede asi:
http://www.pandemiadevelopment.com/l...rses/more/id/3

hay otra que es:
http://www.pandemiadevelopment.com/l...ry&verPagina=2

deberia quedar:
http://www.pandemiadevelopment.com/l...y/ver_pagina/2

desde ya muchas gracias por su ayuda...

Cita:
Iniciado por David el Grande Ver Mensaje
Hay que mantener la calma .

Los enlaces que pusiste no funcionan. Así que hagamos lo siguiente, colocas la regla de reescritura que tienes en este exacto momento. Luego, coloca un enlace normal que usas, y tercero, cómo debería ser la URL amigable.

P.S.: ¿El .htaccess dónde lo tienes? Por si acaso .
ok, el .htaccess lo tengo junto al index.php dentro de la capeta loveNWarArabian de mi servidor (tengo mas carpetas de otros sites)

la regla es la siguiente:
Código:
Options +FollowSymLinks
RewriteEngine On
Rewriterule (.*)/$ index.php?modules=$1&option=$2&id=$3
este es un enlace para ver los detalles de los caballos:
http://www.pandemiadevelopment.com/l...scription&id=3

y me gustaria que quede:
http://www.pandemiadevelopment.com/l...scription/id/3

http://www.pandemiadevelopment.com/l...tion=more&id=3

que quede asi:
http://www.pandemiadevelopment.com/l...rses/more/id/3

hay otra que es:
http://www.pandemiadevelopment.com/l...ry&verPagina=2

deberia quedar:
http://www.pandemiadevelopment.com/l...y/ver_pagina/2

desde ya muchas gracias por su ayuda...

Última edición por GatorV; 08/03/2009 a las 17:47
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 17:22.