Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No puedo generar url amigable

Estas en el tema de No puedo generar url amigable en el foro de PHP en Foros del Web. Hola a todos, estuve viendo como hacer urls amigables y conseguí hacerlo de esta forma: En mi sitio en localhost, dentro de la carpeta http://127.0.0.1/misitio/articulos ...
  #1 (permalink)  
Antiguo 15/10/2013, 22:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
No puedo generar url amigable

Hola a todos, estuve viendo como hacer urls amigables y conseguí hacerlo de esta forma:

En mi sitio en localhost, dentro de la carpeta http://127.0.0.1/misitio/articulos
hice un .htaccess con lo siguiente:

RewriteEngine on
RewriteRule ^(.*).html$ ver_articulo.php?id_articulo=$1

Luego cuando un usuario completa un formulario de búsqueda, obtengo los resultados y muestro todos los articulos que coinciden con esa búsqueda, cada resultado tiene el mismo enlace, que es el siguiente:

<?php
echo "<font face='arial' size='1'>
<a href='".$row['id_articulo'].".html' ><img border='0' src='ver.jpg'></a>
</font>";
?>

Esto anda bien y ese enlace me lleva a:
http://127.0.0.1/misitio/articulos/1234.html

la url original era:
http://127.0.0.1/misitio/articulos/ver_articulo.php?id_articulo=1234

Lo que necesito es que la URL amigable sea más explícita en su contenido para que me ayude con el posicionamiento de cada artículo, pero como lo hice arriba, ya saben, no me va a servir.

-- Estructura de mi tabla `articulos`

CREATE TABLE articulo (
ID_articulo int(8) NOT NULL auto_increment,
ID_empresa smallint(3) unsigned NOT NULL default '0',
nombre varchar(30) NOT NULL default '',
color varchar(15) NOT NULL default '',
valor int(7) NOT NULL,
descripcion text NOT NULL,
PRIMARY KEY (ID_articulo),
KEY id_empresa (ID_empresa)
) ENGINE=InnoDB;

Cómo puedo hacer para que me salga en la url algo similar a:
http://127.0.0.1/misitio/articulos/nombre-color-1234.html

Leí muchos tutoriales pero no lo puedo lograr, la verdad es que no comprendo algunas cosas que indican, sólo conseguí hacer lo que muestro al principio.

Puedo modificar la tabla agregando algún campo o hacer otra aparte si es necesario.

Bueno, eso es todo, perdón si pretendo demasiado, sabré comprender si no me responden.

Saludos y gracias.
  #2 (permalink)  
Antiguo 16/10/2013, 03:16
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

No resuelvas URLs amigables desde el htaccess.
El htaccess que necesitas debe redirigir cualquier petición, (que no sea una imagen,css,js,etc), a index.php , pasando como parámetro el path al que se intentaba acceder.
Básicamente, el htaccess debe convertir

http://127.0.0.1/misitio/articulos

en

http://127.0.0.1/index.php?page=/misitio/articulos

sea cual sea el path al que se acceda.

Un posible htaccess es:
Código Apache:
Ver original
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

En index.php, usas el valor de $_GET["page"] para decidir qué tienes que mostrar.
  #3 (permalink)  
Antiguo 16/10/2013, 10:31
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Gracias por responderme.

Respecto a lo que me comentas, lamentablemente no sé qué es lo que tengo que hacer dentro del archivo: index.php.

El enlace inicial es el siguiente:

<a href='ver_articulo.php?id_articulo=".$row['id_articulo']."' >

y quisiera generar una url válida para que me ayude a posicionar en los buscadores:
http://127.0.0.1/misitio/articulos/nombre-color-1234.html

Por favor si alguien me puede dar algún dato más de cómo implementarlo, no pido que me hagan todo el trabajo, sólo algunos detalles para ver si puedo comprender qué tengo que hacer.

Gracias.
  #4 (permalink)  
Antiguo 16/10/2013, 16:38
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Pues los detalles ya te los he dado...
A partir de aqui, es hacerte el trabajo...
Si pones el htaccess que te he dicho, en index.php...
Código PHP:
Ver original
  1. // Un enrutador serio tiene al menos un par de cientos de líneas...
  2. $parts=explode("/",$_GET["page"]);
  3. if($parts[1]=="articulos")
  4. {
  5.        $parts2=explode("-",$parts[2]);
  6.        /*
  7.              Lo siguiente puede dar problemas según la versión de PHP..
  8.              Normalmente,ver_articulo.php no debería acceder a $_GET
  9.        */
  10.        $_GET["id"]=intval($parts2[2]);
  11.         include("ver_articulo.php");
  12. }
  #5 (permalink)  
Antiguo 17/10/2013, 06:24
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

dashtrash:

Perdón por mi anterior mensaje, realmente no sabía que el paso siguiente era escribir el código completo, no quiero abusar del tiempo de quienes ayudan aquí, el cual valoro muchísimo, ya que eso es lo que me falta en la vida, tiempo para aprender más sobre todo esto, pero eso ya es parte de un terreno personal que no viene al caso.

Doy por finalizado y solucionado este tema.

Saludos y gracias.
  #6 (permalink)  
Antiguo 17/10/2013, 06:53
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

De la misma forma, ya que uno usa su tiempo, quisiera que a la persona que se le responde, le quede clara la respuesta...Con el código anterior lo tienes claro?
  #7 (permalink)  
Antiguo 17/10/2013, 07:52
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Agradezco y comprendo tu interés, por lo expuesto antes, creo que recién mañana voy a poder hacer las pruebas para implementarlo, luego te comento como me fué.

Saludos.
  #8 (permalink)  
Antiguo 17/10/2013, 11:43
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: No puedo generar url amigable

Ademas de pasar el id como parametro, tambien pasa el nombre y el color a la url, para que puedas obtener lo que quieres
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #9 (permalink)  
Antiguo 21/10/2013, 05:02
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Bueno, doy la respuesta que debía.

No pude hacer que funcione la redirección con lo que me indicó dashtrash, quizás tenga que ver con lo que escribió:
"Lo siguiente puede dar problemas según la versión de PHP.
Normalmente,ver_articulo.php no debería acceder a $_GET",
o quizás yo no supe resolverlo.

Después de mucho tiempo de intentarlo sin éxito, empecé a buscar otras alternativas y una manera de hacer que funcione, al margen de cuál sea la mas adecuada.

Logré lo que queria modificando sólo el .htaccess utilizando instrucciones de tutoriales que hay en la web.

Conseguí que la url quede de esta forma:
http://127.0.0.1/misitio/articulos/1234-nombre-color.html

Utilizo también una función que quita los acentos y demás caracteres extraños, y también al final deja todo en minúsculas en la url.

Quiero agradecerles a dashtrash y SkAr88 por la ayuda que me brindaron, fué muy útil para mí.

Tengo algunas preguntas, quizás alguien me las pueda responder:

1. Esta forma donde sólo cambia el nro de articulo, puede ser perjudicial por tener todas una url similar, o es un procedimiento habitual en otros sitios y no hay problemas con esto?

2. Veo que algunos usuarios tienen o solicitan puntos, por favor me podrían decir cómo puedo yo otorgar esos puntos, si es que tengo habilitada esa posibilidad.
  #10 (permalink)  
Antiguo 21/10/2013, 06:27
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: No puedo generar url amigable

Debajo de cada respuesta que te.dan, hay un.texto que dice "Me gusto, ¡Gracias!" Haciendo click en el le das un punto al usuario, pero cuando los usuarios no tienen puntos no se les suma, por eso te regale un punto, para que le des un punto a quien realmente te ha ayudado sin pedirte el punto.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #11 (permalink)  
Antiguo 21/10/2013, 07:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Entendido y ejecutado.

Gracias por todo, tema resuelto.

Saludos!
  #12 (permalink)  
Antiguo 21/10/2013, 08:37
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Cita:
Iniciado por Melisa06 Ver Mensaje
Bueno, doy la respuesta que debía.

No pude hacer que funcione la redirección con lo que me indicó dashtrash, quizás tenga que ver con lo que escribió:
"Lo siguiente puede dar problemas según la versión de PHP.
Normalmente,ver_articulo.php no debería acceder a $_GET",
o quizás yo no supe resolverlo.
Si aún puedes probar lo que te indiqué, escribe var_dump($_GET) como primer línea del fichero index.php.Mira a ver si en $_GET están las variables correctas.
Siempre va a ser más flexible un enrutador en php, que directamente en el htaccess.
Cita:
Iniciado por Melisa06 Ver Mensaje
1. Esta forma donde sólo cambia el nro de articulo, puede ser perjudicial por tener todas una url similar, o es un procedimiento habitual en otros sitios y no hay problemas con esto?
No tienes por qué tener problemas por ello, pero es posible que no estés ganando mucho para SEO si sólo cambia el id del artículo.
  #13 (permalink)  
Antiguo 21/10/2013, 15:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Bueno, te comento que agregué para mejorar un poco la url una variable más (modelo), pero no sé si eso tiene algo que ver:

La respuesta que me da index.php al recibir los datos es:

array
'page' => string 'articulos/nombre-color-modelo-1234.html' (length=39)

O sea que "pasa" por index.php.

Si saco el var_dump sale la página en blanco con la url en el navegador:
http://127.0.0.1/misitio/articulos/nombre-color-modelo-1234.html

Sólo por curiosidad probé:
$_GET["id"] por
$_GET["ID_articulo"]
y sigue en blanco. (ID_articulo es el nombre real del campo).

otra prueba al final cambié:
include("ver_articulo.php"); por
include("articulos/ver_articulo.php");
y sigue en blanco.

Tengo una duda respecto a la ubicación de los archivos:

La pagina principal del sitio es index.html, no hay problemas de que en la misma carpeta exista un index.php?,
me gustaria cambiarle el nombre a index.php si es que se puede para no confundirme.

El archivo .htaccess también lo tengo en el directorio raíz, no hay otro en todo el sitio.

La pagina ver_articulo.php está dentro de la carpeta misitio/articulos

Te indico como tengo el .htaccess =

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
ErrorDocument 404 http://www.misitio.com/404.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

Si ves que esto se complica mucho, no hay problemas en que lo dejemos así, ya me has ayudado mucho.
  #14 (permalink)  
Antiguo 22/10/2013, 02:20
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Si tienes la variable "page" en $_GET, ya tienes todo lo que necesitas.La redirección está funcionando correctamente.
A partir de ahí, el problema es manipular esa cadena, cortarla, obtener subcadenas, y cargar el fichero correspondiente.

Asi que, si algo no va, hay que mirar de qué forma se está cortando esa cadena.
En tu ejemplo original, tu url era del tipo:

nombre-color-1234.html

Lo que estás probando, según el var_dump que incluyes en tu post, es del tipo:

nombre-color-modelo-1234.html

Lo cual hace que en el código que incluí haya que cambiar
Código PHP:
Ver original
  1. $_GET["id"]=intval($parts2[2]);

por
Código PHP:
Ver original
  1. $_GET["id"]=intval($parts2[3]);

Si intentas entender qué hace el código, verás el por qué, y formas de procesar esa cadena para que sea independiente del numero de "-" que pongas, o se adapte a otros tipos de urls que tengas.
  #15 (permalink)  
Antiguo 22/10/2013, 06:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Cuando escribí que no pude lograrlo con el index.php fué haciendo las pruebas con el ejemplo inicial, la página salía en blanco con la url amigable correctamente en el navegador, antes me fijé cómo funcionan las instrucciones para tratar de entender el código.
Luego cuando pude conseguir que funcione sólo con el .htaccess agregué una variable más.

Te comento cómo va todo:

Si yo escribo en el navegador lo siguiente (es la url original) :

http://127.0.0.1/misitio/articulos/ver_articulo.php?ID_articulo=1234
(aparece la página ok).

----------------------------------------------------------
El .htaccess en el directorio raiz:

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
ErrorDocument 404 http://www.misitio.com/404.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

----------------------------------------------------------
El archivo index.php en el directorio raiz:

<?php
$parts=explode("/",$_GET["page"]);
if($parts[1]=="articulos")
{
$parts2=explode("-",$parts[2]);
$_GET["id"]=intval($parts2[3]);
include("ver_articulo.php");
}
?>

----------------------------------------------------------

Dentro de la carpeta /articulos hay una página que incluye este enlace, que es el que pasa por .htaccess e index.php:

<a href='$url-".$row['ID_articulo'].".html' ><img border='0' src='ver.jpg'></a>

----------------------------------------------------------

Con var_dump($_GET); aparece :

array
'page' => string 'articulos/nombre-color-modelo-1234.html' (length=39)

----------------------------------------------------------

Si quito el var_dump($_GET); aparece la página en blanco con la url amigable correcta en el navegador :

http://127.0.0.1/misitio/articulos/nombre-color-modelo-1234.html

----------------------------------------------------------

Y como te comenté antes hice pruebas cambiando en index.php:
$_GET["id"] por
$_GET["ID_articulo"]
y sigue en blanco. (ID_articulo es el nombre real del campo).

otra prueba al final cambié:
include("ver_articulo.php"); por
include("articulos/ver_articulo.php");
y sigue en blanco.

$_GET["id"]=intval($parts2[3]); por
$_GET["id"]=intval($parts2[4]);
y sigue en blanco.

----------------------------------------------------------

Y así están las cosas, es todo lo que puedo decirte.

Saludos y no te esfuerces demasiado con esto, no pasa nada si no lo consigo, al menos tengo la otra alternativa.
  #16 (permalink)  
Antiguo 22/10/2013, 07:30
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Haz var_dump($parts2);
  #17 (permalink)  
Antiguo 22/10/2013, 07:31
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: No puedo generar url amigable

Pon el codigo completo de index.php y de ver_articulos.php
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #18 (permalink)  
Antiguo 22/10/2013, 15:44
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Pruebas en index.php:

-----------------------------
<?php
// var_dump($_GET);

$parts=explode("/",$_GET["page"]);

if($parts[1]=="articulos")
{
$parts2=explode("-",$parts[2]);

var_dump($parts2);

$_GET["ID_articulo"]=intval($parts2[3]);
include("ver_articulo.php");
}
?>

Aparece en blanco con la url amigable ok en el navegador.

-----------------------------

<?php
// var_dump($_GET);

$parts=explode("/",$_GET["page"]);

var_dump($parts[0]);
var_dump($parts[1]);
var_dump($parts[2]);

if($parts[1]=="articulos")
{
$parts2=explode("-",$parts[2]);

$_GET["ID_articulo"]=intval($parts2[3]);
include("ver_articulos.php");
}
?>

Esto devuelve tal como lo escribo y en este orden =

string 'articulos' (length=9)
string 'nombre-color-modelo-1234.html' (length=29)
null

El resto de la página está en blanco con la url amigable ok en el navegador.

-----------------------------

Luego de ver el resultado anterior intenté cambiando los $parts.

<?php
// var_dump($_GET);

$parts=explode("/",$_GET["page"]);

var_dump($parts[0]);
var_dump($parts[1]);
var_dump($parts[2]);

if($parts[0]=="articulos")
{
$parts1=explode("-",$parts[1]);

$_GET["ID_articulo"]=intval($parts1[3]);

var_dump($parts1[3]);

include("ver_articulo.php");
}
?>

Esto trae 1234.html en el var_dump($parts1[3]) que puse antes del include,
supongo que eso no está bien, tendré que ver cómo lo separo, y luego vienen
Warnings como que no encuentra la página de destino.

string 'articulos' (length=9)
string 'nombre-color-modelo-1234.html' (length=29)
null
string '1234.html' (length=9)

Warning: include(ver_articulos.php) [function.include]: failed to open stream: No such file or directory in C:\Archivos de programa\EasyPHP-5.3.6.1\www\misitio\index.php on line 19

Warning: include() [function.include]: Failed opening 'ver_articulos.php' for inclusion (include_path='.;C:\php\pear') in C:\Archivos de programa\EasyPHP-5.3.6.1\www\misitio\index.php on line 19

y continúa todo en blanco.

-----------------------------

el archivo .htaccess está en la carpeta raíz, igual que index.php, están en la misma carpeta:

AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
ErrorDocument 404 http://www.misitio.com/404.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

-----------------------------

SkAr88: el código completo de index.php es el que escribo aquí, no hay otra cosa,
y el código de ver_articulos.php con todo respeto pienso que no hace falta
porque debe abrirse con el redireccionamiento al margen del código que tenga,
ya que con la url original:
http://127.0.0.1/misitio/articulos/ver_articulo.php?ID_articulo=1234
la puedo ver sin problemas.

-----------------------------

Les comento que uso $_GET["ID_articulo"] al final porque creo que así debería ir,
probé solo con $_GET["id"] y no hay cambios, cuál de las dos debo usar en esa línea?

Veo que tampoco funciona la redirección 404, sólo en estos casos.
-----------------------------

Trato de aportar todos los datos que puedo, la verdad que no quiero complicar las cosas.

Saludos.
  #19 (permalink)  
Antiguo 22/10/2013, 16:22
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Todo está correcto.Lo único incorrecto es el sitio donde está "ver_articulo.php".Debe estar en un directorio distinto, y el include está fallando.Supongo que es

include("misitio/articulos/ver_articulo.php");
  #20 (permalink)  
Antiguo 22/10/2013, 16:40
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: No puedo generar url amigable

Esta mal en el index al final
$_GET['ID_articulo']= intval($parts1[3]);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #21 (permalink)  
Antiguo 22/10/2013, 17:19
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Modifiqué el include y agregué
"misitio/articulos/ver_articulo.php");
pero sigue el Warning

-----------------------------
Una pregunta, cuando dices que todo está correcto, cuál es el correcto ?

if($parts[1]=="articulos") como estaba en el index.php que me indicaste ?

o

if($parts[0]=="articulos") como lo modifiqué al final ?

-----------------------------

Cuando dices "ver_articulo.php debe estar en un directorio distinto"
Significa que debo cambiar a otra carpeta la página "ver_articulo.php" o lo que quieres decir es que no está dentro de esa carpeta?

http://127.0.0.1/misitio/articulos/v..._articulo=1234
la puedo ver sin problemas.
------------------------------

Respecto a que está mal en el index al final
$_GET['ID_articulo']= intval($parts1[3]);

Te refieres a las comillas simples que pusiste en lugar de las dobles, o qué es lo que está mal ?
------------------------------

Sólo estas dudas y termino con este tema, porque veo que no puedo encontrarle la vuelta y ya estamos todos perdiendo demasiado tiempo.
  #22 (permalink)  
Antiguo 22/10/2013, 18:06
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: No puedo generar url amigable

Cita:
Iniciado por Melisa06 Ver Mensaje
Modifiqué el include y agregué
"misitio/articulos/ver_articulo.php");
pero sigue el Warning
El warning no es más que hay que indicar la ruta correcta desde el fichero que
incluye (index.php) al que es incluido (ver_articulo.php).Modifícalo según tu estructura de carpetas...

Cita:
Iniciado por Melisa06 Ver Mensaje
Una pregunta, cuando dices que todo está correcto, cuál es el correcto ?

if($parts[1]=="articulos") como estaba en el index.php que me indicaste ?

o

if($parts[0]=="articulos") como lo modifiqué al final ?
Si tus urls comienzan con /articulos, en 0.Si empiezan con "/misitio", en 1.Pero esto no es lo importante.

Cita:
Iniciado por Melisa06 Ver Mensaje
Respecto a que está mal en el index al final
$_GET['ID_articulo']= intval($parts1[3]);
Qué es lo que necesita ver_articulo.php? una variable "id"? una variable "ID_articulo"?

Cita:
Iniciado por Melisa06 Ver Mensaje
Sólo estas dudas y termino con este tema, porque veo que no puedo encontrarle la vuelta y ya estamos todos perdiendo demasiado tiempo.
Estas dudas ya no son de cómo enrutar direcciones amigables.Son pequeños errores y ajustes mínimos típicos a cualquier código que tengas que ajustar a tu instalación/carpetas/urls específicas.Son pequeños problemas php.
  #23 (permalink)  
Antiguo 23/10/2013, 05:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Ok, todo está entendido.

Termino con esto, agradezco mucho tu ayuda y paciencia, un saludo tambien a skar88.
  #24 (permalink)  
Antiguo 23/10/2013, 06:50
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: No puedo generar url amigable

Disculpa que siga peto si quieres solucionar, porque es ver_articulo el que recibe el parametro de la url y hace la consulta mysql y muestra el contenido
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #25 (permalink)  
Antiguo 23/10/2013, 14:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: No puedo generar url amigable

Te agradezco pero no voy a seguir con esto, ya llevo mucho tiempo solo con este tema y debo seguir con otras cosas. Saludos y gracias.

Etiquetas: formulario, html, tabla, url
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 08:48.