Re: Que todo sea el mismo dominio

Enviado por  djmai el 12/5/2010 13:20:28
que tal amigo usa la reescritura de urls para que te reescriba los modulos para que en vez de que te aparesca

tusitio.com/modules/extcal

te aparesca

tusitio.com/eventos

aqui en el foro ya se ha posteado eso muchas veces checalo bien yo lo hice funcionar en un host gratuito jeje aqui tienes el post cualquier duda si quieres te puedo ayudar

Xoops con URL amigables muy interesante

Bueno de una vez te digo como hacerle, a tu .htaccess le tienes que agregar esto:

Acotación:
RewriteEngine on
RewriteRule ^eventos(.*)$ /modules/extcal/$1 [L]


y dentro de tu mainfile.php despues de la linea uno que es <?php pones esto:

Acotación:
$GLOBALS['_rewriteRulesFrom'] = array(
'/eventos/',
);

$GLOBALS['_rewriteRulesTo'] = array(
'/modules/extcal/',
);

$GLOBALS['_abs_offset'] = preg_replace('/https?:\/\/'.$_SERVER["HTTP_HOST"].'/','',XOOPS_URL);
$GLOBALS['_rewriteRulesTo1'] = preg_replace('/^(.*)$/e','"!('.XOOPS_URL.'|"".$GLOBALS["_abs_offset"]."|\'".$GLOBALS["_abs_offset"].")".preg_quote("\1","!")."!"', $GLOBALS['_rewriteRulesTo']);
$GLOBALS['_rewriteRulesFrom1'] = preg_replace('/^(.*)$/','\\\1\1',$GLOBALS['_rewriteRulesFrom']);

function modules_changer( $s ) {
$s = preg_replace($GLOBALS['_rewriteRulesTo1'],$GLOBALS['_rewriteRulesFrom1'], $s);
for($i=0; $i<count($GLOBALS['_rewriteRulesFrom']); $i++) {
$s = preg_replace( '/('.preg_quote(XOOPS_URL,'/').'|"|\')'.preg_quote($GLOBALS['_rewriteRulesTo'][$i],'/').'/' , "\\1".$GLOBALS['_rewriteRulesFrom'][$i] , $s ) ;
}
return $s;
}
if (empty($_SERVER['REDIRECT_URL']) || ($_SERVER['REDIRECT_URL'] == $_SERVER['REQUEST_URI'])) {
if (empty($_SERVER['REDIRECT_REDIRECT_STATUS'])) {
if (($_changer_url=modules_changer('"'.$_SERVER['REQUEST_URI'].'"')) != '"'.$_SERVER['REQUEST_URI'].'"') {
header('Location: ' . str_replace('"','',$_changer_url));
}
}
}
$_SERVER['REQUEST_URI'] = str_replace( $GLOBALS['_rewriteRulesFrom'],$GLOBALS['_rewriteRulesTo'], @$_SERVER['REQUEST_URI'] ) ;
$_SERVER['HTTP_REFERER'] = str_replace($GLOBALS['_rewriteRulesFrom'], $GLOBALS['_rewriteRulesTo'], @$_SERVER['HTTP_REFERER'] ) ;

ob_start( 'modules_changer' ) ;


lo unico que tienes que modificar es lo que esta en negrita si quieres agregar mas modulos solo copia y pega esas lineas y cambia los nombres de los modulos, para que se reescriban.

Cualquier cosa avisanos sale saludos

Este post ha sido de: http://www.esxoops.com/modules/newbb/viewtopic.php?topic_id=7255&post_id=27998