Foros del Web » Programando para Internet » PHP »

EXPLODE para redirigir. Problema en host.

Estas en el tema de EXPLODE para redirigir. Problema en host. en el foro de PHP en Foros del Web. Hola. El problema es que en el hosting, un script no funciona y en local va perfectamente. Tego una página index.php con este enlace Código ...
  #1 (permalink)  
Antiguo 07/11/2005, 06:09
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
EXPLODE para redirigir. Problema en host.

Hola.

El problema es que en el hosting, un script no funciona y en local va perfectamente.

Tego una página index.php con este enlace
Código PHP:
<a href="http://www.miweb.com/oferta/$idoferta.html\"> 
que en realidad es así si pasara la variable por GET como se hace normalmente:
Código PHP:
<a href="http://www.miweb.com/oferta.php?idoferta=56\"> 
En index.php pongo el enlace de esta forma para que los buscadores vean un html
Código PHP:
 a href="http://www.miweb.com/oferta/56.html"
e indexen mejor las páginas.

En la página destino.php hay este script:
Código PHP:
<?php
$explora 
explode("/",$HTTP_SERVER_VARS["REQUEST_URI"]);
$id $explora[count($explora)-1];
//esto da como $id: 56.html
$buscaidoferta explode("."$id);
$idoferta $buscaidoferta[count($buscaidoferta)-2];
//esto da como $buscaidoferta: 56
?>
Lo que hace es leer y cambiar la URL pedida en la página index.php para obtener la variable $idoferta, que es 56, y que la necesito para mostrar la página.

El caso es que en local va bien y en el host no.

Me imagino que debe ser algo en la configuración del host o que el script tendrá algún fallo que no admite el host. Pero no sé exactamente a que se debe. (Por cierto la barra \ para abrir los enlaces no aparece aquí ???, pero en el scritp está bien)

Si podéis, os agradecería vuestra ayuda.

Saludos.
  #2 (permalink)  
Antiguo 07/11/2005, 06:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 19 años, 2 meses
Puntos: 1
Pues no se que te puede pasar, pero no veo bien el motivo por el cual estś haciendo eso. La mayoría de los buscadores no tienen problema para parsear las urls con algun parametro. Mientras que no abuses de ellos funcionarán perfectamente (google incluido).

Por otra parte, en vez de explode, podrias buscar las posiciones de los caracteres "/" y "." y coger una subcadena entre ambos. Es mucho más eficiente que explode y me da que con eso conseguirias solucionar tu problema.

Por cierto asegurate que "$HTTP_SERVER_VARS["REQUEST_URI"]" funciona bien. ¿Quizas deberias usar $_SERVER?

Un saludo

Zerjillo
  #3 (permalink)  
Antiguo 07/11/2005, 07:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola.

Gracias por el interés.
Con $_SERVER['PHP_SELF'] el tema sigue igual.

La razón para hacer estos cambios en algunas páginas es que hasta ahora estas páginas son de tercer nivel (www.miweb.com/directorio/pagina.php?xx=yy)
y no están bien indexadas.
Voy a subirlas un nivel y he pensado que podía aprovechar para presentar en el índice enlaces html que según dicen son más fáciles para las arañas.

Gracias y saludos.
  #4 (permalink)  
Antiguo 07/11/2005, 07:10
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Cita:
Iniciado por Zerjillo
Por otra parte, en vez de explode, podrias buscar las posiciones de los caracteres "/" y "." y coger una subcadena entre ambos. Es mucho más eficiente que explode y me da que con eso conseguirias solucionar tu problema.Zerjillo
¿Qué función podría utilizar para esto?

Gracias.
  #5 (permalink)  
Antiguo 07/11/2005, 08:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que te ayudará la función:

parse_url()
www.php.net/parse_url

Un saludo,
  #6 (permalink)  
Antiguo 08/11/2005, 01:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Gracias por responder.

He probado varias maneras de hacerlo y todas funcionan en local, pero no en el servidor. Así que me pondré en contacto con el hosting para ver la configuración de Apache.

Gracias por vuestra ayuda.
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 10:02.