我有一个用joomla构建的网站,网站上有一个网址:
http://oldsite.com
我被要求将其移至另一个网址 - 域名
http://newsite.com
如何在不弄乱网站和joomla安装的情况下正确执行此操作?
答案 0 :(得分:2)
我没有在Joomla中找到它所运行的域中的任何引用,因此不需要更改任何内容。如果站点名称也发生更改,请更新/configuration.php。
在实践中,您可能会发现内容中存在完全限定域名的链接,您必须更改这些域名。以下查询可以帮助您找到它们:
SELECT * FROM `jos_content`
WHERE `introtext` like '%mysite.gr%' or `fulltext` like '%mysite.gr%'
如果您使用的是Linux,请从站点根目录运行以下命令,以确保代码中没有其他引用,例如模板或CSS中的硬编码图像路径等:
find . -exec grep -iH "mysite" {} \;
检查网站的.htaccess文件,查找需要域名的任何自定义规则。
因此,问题在于更改现有站点的域,或者创建新站点以及在文件系统中移动Joomla安装和/或创建数据库副本。确切的步骤取决于您的环境。
答案 1 :(得分:1)
除了cdonner所说的,你需要修改configuration.php文件并删除旧网站的所有引用
您还需要清空(缓存文件夹)
答案 2 :(得分:1)
您是将网站移至新的主机或帐户,还是只更改域名?
如果您只是更改域名 -
您真正需要做的就是保持旧域名指向相同的Joomla安装,并在htaccess中添加规则以将域名更新为新域名。这不仅可以修复内容或模块中链接中的任何完全限定域名,还可以修复旧域中可能存在的任何反向链接。以下是您需要添加到htaccess的内容 -
RewriteCond %{HTTP_HOST} ^oldsite.com [NC]
RewriteRule ^(.*)$ http://www.newsite.com/$1 [L,R=301]
如果您要将网站移动到新主机,请像Hanny所说的那样使用Akeeba备份来移动网站。
在这两种情况下,您都需要确保旧域转发到新域,并且您已设置上述htaccess规则来修复可能会被破坏的任何链接。
答案 3 :(得分:0)
从一个域移动到另一个域时,要做的一件重要事情是确保log_path
和tmp_path
都反映新的服务器设置,并且它们都可以由Apache写入。如果您不这样做,那么您可能无法登录服务器。
如果你使用文件缓存和这两个文件夹,你还需要确保Apache可以写cache
和administrator/cache
文件夹,因为Joomla 3.6。+会抛出一个致命的错误是不可写的。