Incapaz de poner los artículos de Joomla abierto en una dirección URL correcta
Pregunta
Problema: Mis artículos tienen las direcciones URL correctas: por ejemplo, newsite.com/article. Sin embargo, haciendo clic en un artículo que aparece un artículo vacío. Puedo ver mi barra lateral.
moví la instalación de Joomla a otra carpeta en mi servidor. Quiero cambiar mi dominio de OldSite.com a NewSite.com.
No estoy seguro de si tengo que cambiar el base de datos o no demasiado.
Mi reciente configuration.php en NewSite.com que fue trasladado desde OldSite.com.
<?php
class JConfig {
var $offline = '1';
var $editor = 'jce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $debug = '0';
var $debug_lang = '0';
var $sef = '1';
var $sef_rewrite = '1';
var $sef_suffix = '0';
var $feed_limit = '10';
var $secret = '----------------';
var $gzip = '0';
var $error_reporting = '7';
var $xmlrpc_server = '0';
var $log_path = '/home/masi/public_html/NewSite/logs'; // I added this
var $tmp_path = '/home/masi/public_html/NewSite/tmp'; // I added this
var $live_site = 'http://www.NewSite.com/'; // I added this
var $offset = '0';
var $caching = '0';
var $cachetime = '15';
var $cache_handler = 'file';
var $memcache_settings = array();
var $ftp_enable = '0';
var $ftp_host = '127.0.0.1';
var $ftp_port = '21';
var $ftp_user = 'admin';
var $ftp_pass = '------------'; // hidden now for security
var $ftp_root = '';
var $dbtype = 'mysql';
var $host = 'localhost';
var $user = 'masi_jml02';
var $db = 'masi_jml02';
var $dbprefix = '';
var $mailer = 'mail';
var $mailfrom = 'admin@masi.com';
var $fromname = '';
var $sendmail = '/usr/sbin/sendmail';
var $smtpauth = '1';
var $smtpuser = '';
var $smtppass = '';
var $smtphost = 'localhost';
var $MetaAuthor = '0';
var $MetaTitle = '1';
var $lifetime = '15';
var $session_handler = 'database';
var $password = '--------------'; // hidden now for security
var $sitename = '--------------'; // hidden now for security
var $MetaDesc = '';
var $MetaKeys = '';
var $offline_message = 'This site is down for maintenance. Please check back again soon.';
}
?>
pongo comentarios al código anterior para el cual indica filas que cambió después moví la carpeta de instalación.
Mi index.php en public_html / NuevoSitio / templates / Tema /
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl;?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl;?>/templates/<?php echo $this->template ?>/css/customize.css" type="text/css" />
<script type="text/javascript" src="<?php echo $this->baseurl;?>/templates/<?php echo $this->template ?>/js/global.js"></script>
<?php if($this->countModules('left') <= 0 ) : ?>
<?php endif; ?>
<?php $div_wrap = ($this->countModules('left')) ? 'modulewrap' : 'modulewrap_wide'; ?>
<?php $div_right = ($this->countModules('user4')) ? 'right' : 'right_wide'; ?>
<?php $div_left = ($this->countModules('right')) ? 'left' : 'left_wide'; ?>
</head><body>
<div id="outerwrap">
<div id="header">
<?php if($this->countModules('user1')) : ?>
<jdoc:include type="modules" name="user1" style="xhtml" />
<?php else: ?>
<h1><a href="<?php echo $mainframe->getCfg('live_site');?>" title="<?php echo $mainframe->getCfg('sitename');?>"><?php echo $mainframe->getCfg('sitename');?></a></h1>
<?php endif; ?>
</div>
<!-- 3bar column -->
<?php if ($this->countModules('top')): ?>
<div id="top">
<jdoc:include type="modules" name="top" style="xhtml" />
</div>
<?php endif; ?>
<!-- End 3bar column -->
<div class="clear"></div>
<div id="wrapper">
<!-- Start leftcol -->
<?php if($this->countModules('left')) : ?>
<div id="leftcol">
<jdoc:include type="modules" name="left" style="xhtml" />
</div>
<!-- END leftcol -->
<?php endif; ?>
<!-- Right column -->
<?php if ($this->countModules('user3')): ?>
<div id="user3">
<jdoc:include type="modules" name="user3" style="xhtml" />
</div>
<?php endif; ?>
<!-- End Right column -->
<div id="mainbody">
<div class="inside">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<!-- END INSIDE -->
</div>
<!-- END MAINBODY -->
<div class="clear"></div>
</div>
<!--END WRAP-->
</div>
<!--END WRAPPER-->
<div class="clear"></div>
<div id="bottombar"></div>
</div>
<!--END OUTERWRAP-->
<div class="designer">
<jdoc:include type="modules" name="footer" style="raw" /></div>
</body>
</html>
Solución 2
Mi sitio fue configurado para usar mod_rewrite, pero no había ningún archivo .htaccess disponible.
He desactivado el mod_rewrite, y los enlaces ahora trabajo.
Otros consejos
bien ...
- ha movido toda la instalación a un nuevo directorio? subdirectorio?
- ¿qué es lo que quiere decir con 'no abrir correctamente'? por favor proporcione mensajes de error o un enlace!
- se ajustó el configuration.php !? se puede publicar aquí (tomar las contraseñas fuera)
- definitivamente las obras sin hacer nada en la base de datos.
- ¿está seguro de los cambios en el configuration.php han entrado en vigor. por ejemplo, el archivo no era modificable o que lo editó fuera de línea y se olvidó de subirlo ...
- qué meterse con el index.php de la plantilla? tal vez la url está codificado en alguna parte?
- ¿hay otro componente / módulo / plugin que necesita readjustement / reconfiguración?
Si youк nueva página web se encuentra en la subcarpeta bajo la raíz del servidor web, sólo echa Directiva RewriteBase
en el archivo .htaccess. Actualizar RewriteBase /
a RewriteBase /subfolder/
Como puedo ver que es altamente posible que la raíz de su sitio es el directorio public_html
sitio web real, mientras se encuentra en el directorio NewSite
. Así que trate de sustituir a RewriteBase /
RewriteBase /NewSite/
(barra final es obligatorio).