olvide decir que es una
web modular y viene de ahi el problema.
le he pegado bastantes vueltas desde el sabado y he descubierto que el problema esta en que al pulsar el link
href=http:/localhos/?mod=foro?id=3 (<a href="?mod=foro?id=<?=$id?>"><?=$titulo?></a>) distingue entre 'foro' y 'foro?id=3' como modulos distintos y por eso me cargaba el home q era el modulo por defecto, ahora he puesto un modulo 'error404' por defecto y me carga ese diciendome q no encuentra /?mod=foro?id=8
¿como puedo solucionar esto?
pienso que el problema puede ser por como estan configurados los modulos, aqui os muestro el archivo index.php y conf.php por si veis q esta mal.
index.php
<?php
require_once('conf.php');
require_once("../libreria/funciones.php");
if (!empty($_GET['mod']))
$modulo = $_GET['mod'];
else
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]))
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]['layout']))
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;
$path_layout = LAYOUT_PATH.'/'.$conf[$modulo]['layout'];
$path_modulo = MODULO_PATH.'/'.$conf[$modulo]['archivo'];
if (file_exists($path_layout))
include( $path_layout );
else
if (file_exists( $path_modulo ))
include( $path_modulo );
else
die('Error al cargar el mdulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?> conf.php
<?php
define('MODULO_DEFECTO', 'error');
define('LAYOUT_DEFECTO', 'layout_simple.php');
define('MODULO_PATH', realpath('./modulos/'));
define('LAYOUT_PATH', realpath('./layouts/'));
$conf['home'] = array('archivo'=>'home.php','layout'=>LAYOUT_DEFEC TO );
$conf['articulo'] = array('archivo'=>'art.php' );
$conf['foro'] = array('archivo'=>'foro.php','layout'=>'layout_foro .php' );
$conf['imp_art'] = array('archivo'=>$conf['articulo']['archivo'],'layout'=>'imprimir.php');
$conf['error'] = array('archivo'=>'mi404.php','layout'=>LAYOUT_DEFE CTO );
?>
ademas de pocos añadidos mios son iguales que los que se puede encontrar en el tutorial sobre
webs modulares ofrecido por webstudio en
www.zonaphp.com, he pensado en hacer
webs modulares con switch tal y como se describe en las faq de este foro para ver si asi se soluciona, ademas de q parece mas sencillo. ¿algun consejo?
(con esta tonteria de error que no encuentro estoy empezando a enterarme de como funciona php mas que en un mes q llevo leyendo cosillas
)