如何将我的网站从子文件夹移动到根目录?


12

我有一个joomla网站,它安装在托管帐户的子文件夹中。

因此,现在如果要访问我的网站,我必须输入www.mysite.com/joomla。我希望能够使用我的域名www.site.com直接访问我的网站主页。

这个怎么做 ?

Answers:


14

以下是将joomla网站从子文件夹移动到根目录所需的步骤:

  1. 使用FTP客户端并通过FTP连接到您的托管帐户,或者使用托管帐户的控制面板中应该可用的文件管理器。
  2. 导航到Joomla所在的文件夹(root / joomla)。
  3. 找到configuration.php文件,下载并使用文本编辑器(而不是像ms word这样的文字处理软件)将其打开。
  4. 您正在寻找以下几行:

    var $live_site = '';
    var $log_path = '/home/username/public_html/joomla/logs';
    var $tmp_path = '/home/username/public_html/joomla/tmp';
    var $ftp_root = 'public_html/joomla';
    

    改成:

    var $live_site = '';
    var $log_path = '/home/username/public_html/logs';
    var $tmp_path = '/home/username/public_html/tmp';
    var $ftp_root = 'public_html';
    

如果$live_site变量具有值:
例如$live_site = 'http://www.site.com/joomla';

然后像这样调整:
$live_site = 'http://www.site.com';

  1. 保存configuration.php并将其上传回其先前的位置。
  2. 检查名为.htaccess的文件。如果可用,也请对其进行编辑。您正在寻找以下行:

    RewriteBase /joomla 改成: RewriteBase /

*希望看到joomla所在的文件夹而不是joomla的名称。

  1. 导航回到您的“根”文件夹。如果存在旧站点的文件和文件夹,则最好创建一个新文件夹,将其命名为“ old-site”,然后将其所有文件都放在此文件夹中。
  2. 现在您需要做的就是将Joomla安装的文件/文件夹移动到根文件夹。
  3. 移动完成后,登录到管理员并清理Joomla的缓存。转到系统->清除缓存并清理缓存的文件。
  4. 检查您网站的前端。
  5. 如果一切正常,请记住-如果您不再需要旧站点的文件,请删除它们。

5

这里只是一点点。大多数人不需要这样做,因为他们永远不会触摸robots.txt文件,但是如果您有类似以下内容的信息:

User-agent: *
Disallow: /joomla/administrator/
Disallow: /joomla/bin/
Disallow: /joomla/cache/
Disallow: /joomla/cli/
Disallow: /joomla/components/
Disallow: /joomla/includes/
Disallow: /joomla/installation/
Disallow: /joomla/language/
Disallow: /joomla/layouts/
Disallow: /joomla/libraries/
Disallow: /joomla/logs/
Disallow: /joomla/modules/
Disallow: /joomla/plugins/
Disallow: /joomla/tmp/

然后,您需要/joomla在每个路径的开头删除前缀。


5

如果您可以通过Shell访问主机,则也可以将Joomla安装存储在webroot之外并对其进行符号链接。这样,您就可以对安装进行源代码控制或轻松地在多个暂存/生产版本之间切换。

将其与子域一起使用还可以使新版本的测试过程变得更加容易。


您能详细说明一下吗?也许是有关如何实现此目标的新的问答文章,对于许多用户来说可能很有趣。
johanpw 2014年

SE似乎不喜欢我潜在的问题标题,因此我将不得不对此进行研究,但是我在此处的另一个答案中对此过程进行了详细说明:joomla.stackexchange.com/q/4145/58
Jeremy Proffitt

3

最好的办法是在虚拟主机上更改站点的已分配根文件夹。我这样做是为了建立网站的新版本并保存/保持旧版本有效。我要做的就是每次发布新版本时将域的“文档根目录”更改为新文件夹。避免重定向您的网站,Google的搜索算法不喜欢它。


2

我想知道为什么没人建议使用Akeeba Backup组件和Akeeba Kickstart脚本。对于某些用户,这样做可能更简单,就像FFrewin建议的一样。Akeeba会自动执行所有操作。

两者都是免费的(在基本版本中,您不需要专业版)。您可以直接在AkeebaBackup.com/download上下载它们

所需步骤为:

  1. 安装Akeeba备份
  2. 设置Akeeba备份,在“ Joomla管理”中打开组件后,一键式自动设置
  3. 通过Akeeba Backup备份您的网站
  4. 下载您的备份(.jpa文件)
  5. 将您的备份上传到FTP上的新位置(无论是其他主机还是其他文件夹,您都可以将站点移动到任何地方,甚至是本地主机)
  6. 解压缩Akeeba Kickstart并将文件kickstart.php上传到上载.jpa文件的位置
  7. 在浏览器中,直接转到http://newlocation.xy/kickstart.php
  8. Akeeba Kickstart将打开,选择直接方法
  9. 完成整个过程并填写必填字段(就像新安装的Joomla一样)
    • 数据库连接设置(服务器,名称,密码)-如果要保持与现有数据库相同的数据库,请使用不同的表前缀
    • 网站设置-设置最重要的新实时网址,包括http://。此外,您还可以更改超级管理员密码并设置新的FTP帐户)
    • 完成所有操作后,单击“删除安装文件夹”
  10. 就是这样,如果新站点可以正常工作,则可以在以前的位置和旧的数据库表中删除站点(它们应该具有不同的前缀或位于单独的数据库中)。

在删除以前的安装之前,请确保新安装确实有效。您的备份文件可能因下载或其他原因而损坏,您可能无法安装备份。

我也知道这看起来有点复杂,但不是,我认为它更容易且通常更快-从您的FTP位置复制数千个文件(整个Joomla)到您的计算机,然后将它们上传到新的FTP位置需要几个小时。使用Akeeba,您可以在一个小时内启动并运行(取决于Joomla网站的大小)。


没有人建议Akeeba,因为问题是关于从同一主机根目录下的子目录移动安装。
FFrewin

不过,您可以使用Akeeba。这只是一个不同的选择。
TeeJay 2014年

1
当然,这是一个选择,但是您在答案中所描述的就像从巴黎经过东京到伦敦。所有这些过程都是不必要的。您提到,您可以在不到一小时的时间内启动并运行,而实际过程应该只有几分钟,而根本不需要弄乱数据库。
FFrewin

我实际上更喜欢在这样的情况下使用Akeeba,因为Akeeba安装程序脚本是专门为调整配置中的tmp和缓存路径等内容而编写的,您还可以获得完全备份的好处。如果您使用Cpanel文件管理器在服务器本身上移动文件,那么一个小时的过程比实际花费的时间要长得多。对于大多数站点,您进行的备份花费不到2分钟的时间。文件移动为30秒,部署到根大约一分钟或2分钟。并且无需检查单个文件路径是否更正。
Toni Marie 2014年

这是一个可能的解决方案,但是我认为Akeeba Backup对于不需要任何扩展的简单过程来说是过大的。使用Akeeba意味着您需要创建一个备份,下载它,设置kickstart up并基本上重新安装Joomla(可以这么说)。当您可以使用托管文件管理器简单地移动文件夹并在配置中调整几行时,就需要花费相当长的时间
Lodder 2014年

2

如果您想将您的本地主机重定向到某个子文件夹而不是诸如根文件夹的目录

/var/www/subfolder

然后,您需要在服务器上进行此配置。在以下路径打开文件:

/etc/apache2/sites-enabled/000-default.conf

那么您需要在以下位置更改文件夹的根路径:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/subfolder

现在,如果您要运行localhost,则它将打开子文件夹的文件。


对于在特定发行版(例如Ubuntu)上具有Apache服务器的Linux用户,此答案似乎很有用。此外,如果根目录只有子文件夹,最好将子目录移到根目录。
Farahmand 2014年

0

Akeeba Backup运作良好。如果您的根目录中已经安装了以前的joomla站点,请确保先删除根目录中的joomla文件夹,然后再将新站点移至根目录,否则您可能会从先前的版本中遗漏了不兼容的模板等。

我还建议您进入cpanel-> myPHP管理员并导出数据库以进行另一层备份。Akeeba备份文件包括您的数据库,因此这只是一个冗余。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.