![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
22/10/2013, 15:44
|
| | Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 19 años 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. |