Как переместить мой сайт из подпапки в корень?


12

У меня есть сайт Joomla, и он установлен в подпапке в моей учетной записи хостинга.

Так что теперь, если я хочу получить доступ к своему сайту, я должен напечатать www.mysite.com/joomla . Я хочу иметь доступ к домашней странице моего сайта напрямую через мой домен www.site.com .

Как это сделать?

Ответы:


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

Если у вас есть доступ к хосту через оболочку, также имеет смысл сохранить установку Joomla вне webroot и вставить в нее символическую ссылку. Таким образом, вы можете управлять установкой из исходного кода или легко переключаться между несколькими промежуточными / производственными версиями.

Использование этого с поддоменами также значительно облегчает процесс тестирования новых версий.


Не могли бы вы подробнее рассказать об этом? Возможно, новый пост с вопросами и ответами о том, как этого добиться, может быть интересен многим пользователям.
Johanpw

Похоже, что SE не нравятся мои потенциальные названия для этого вопроса, поэтому мне придется поработать над этим, но я подробно остановился на этом процессе здесь: joomla.stackexchange.com/q/4145/58
Джереми Проффитт,

3

Лучше всего было бы изменить назначенную корневую папку вашего сайта на веб-хостинге . Я делаю это, чтобы я мог создавать новые версии своего сайта и сохранять / поддерживать старые версии; все, что мне нужно сделать, это изменить "Document Root" моего домена на новую папку каждый раз, когда я выпускаю новую версию. Избегайте перенаправления вашего сайта, алгоритму поиска Google это не нравится.


2

Интересно, почему никто не предложил использовать компонент Akeeba Backup и скрипт Akeeba Kickstart . Для некоторых пользователей это может быть более простой способ сделать то же, что предложил FFrewin. Акиба делает все это автоматически.

Оба они бесплатны (в базовой версии вам не нужны профессионалы). Вы можете скачать их прямо на AkeebaBackup.com/download .

Необходимые шаги:

  1. Установить Akeeba Backup
  2. Настройте Akeeba Backup, есть автоматическая настройка в один клик сразу после открытия компонента в вашем Joomla Administration
  3. Сделайте резервную копию вашего сайта через Akeeba Backup
  4. Загрузите резервную копию (файл .jpa)
  5. Загрузите свою резервную копию в новое место на вашем FTP (независимо от того, является ли это другим хостом или просто другой папкой, вы можете переместить свой сайт куда угодно, даже на localhost)
  6. Распакуйте Akeeba Kickstart и загрузите файл kickstart.php в то же место, куда вы загрузили файл .jpa.
  7. В вашем браузере перейдите по адресу http: //newlocation.xy/kickstart.php
  8. Откроется Akeeba Kickstart, выберите прямой метод
  9. Пройдите весь процесс и заполните необходимые поля (как новая установка Joomla)
    • Настройки подключения к базе данных (сервер, имя, пароль) - если вы хотите сохранить ту же базу данных, что и у вас, используйте другой префикс таблицы
    • Настройки веб-сайта - установите новый действующий URL, включая http: //, это наиболее важно. Кроме того, вы также можете изменить пароль superadmin и настроить новые учетные записи FTP)
    • Когда все будет сделано, нажмите «удалить папку установки»
  10. Вот и все, если новый сайт работает, вы можете удалить свой сайт в прежнем расположении и старые таблицы базы данных (они должны иметь другой префикс или находиться в отдельной базе данных).

Перед удалением предыдущей установки убедитесь, что новая действительно работает. Ваш файл резервной копии может быть поврежден в результате загрузки или чего-либо еще, и вы не сможете установить резервную копию.

Я также знаю, что это выглядит немного более сложным способом, но это не так, я думаю, что это проще и обычно быстрее - копирование тысяч файлов (всего Joomla) с вашего FTP-местоположения на ваш компьютер и загрузка их на ваше новое FTP-местоположение занимает часы. С Akeeba вы можете начать работу менее чем за час (в зависимости от размера вашего веб-сайта Joomla).


Никто не предложил Akeeba, потому что вопрос о переносе установки из подкаталога в корне того же хостинга.
FFrewin

Тем не менее, вы можете использовать Akeeba для этого. Это просто другой вариант.
TeeJay

1
Конечно, это вариант, но то, что вы описываете в своем ответе, похоже на поездку из Парижа в Лондон через Токио. Вся эта процедура просто ненужна. Вы упомянули, что вы можете начать работу менее чем за час, тогда как сама процедура занимает пару минут, и вам вообще не нужно связываться с базой данных.
Ф.Фрюин

Я на самом деле предпочитаю использовать Akeeba для таких ситуаций, как этот сам, так как сценарий установщика Akeeba специально написан для настройки таких параметров, как пути tmp и кеша и т. Д. В конфигурации, и вы получаете дополнительное преимущество полного резервного копирования. Час - это гораздо более длительный процесс, чем на самом деле, если вы используете файловый менеджер Cpanel для перемещения файлов на самом сервере. Вы делаете резервную копию, которая занимает чуть менее 2 минут для большинства сайтов. Перемещение файла занимает 30 секунд, развертывание в корневом режиме занимает около минуты или 2. И никаких проверок отдельных путей к файлам для исправления.
Тони Мари

Это возможное решение, однако я думаю, что Akeeba Backup излишне для такого простого процесса, который не требует никаких расширений. Использование Akeeba означает, что вам нужно создать резервную копию, загрузить ее, настроить kickstart и, в общем, установить заново Joomla (так сказать). довольно долгий процесс, когда вы можете просто переместить папку с помощью вашего файлового менеджера и настроить пару строк в конфигурации
Lodder

2

Если вы хотите перенаправить ваш локальный хост в какую-то подпапку вместо корневой папки, например

/var/www/subfolder

Затем вам нужно выполнить эту настройку на сервере. откройте файл по следующему пути:

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

тогда вам нужно изменить корневой путь к папке следующим образом:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/subfolder

Теперь, если вы запустите localhost, он откроет файл подпапки.


Этот ответ кажется полезным для пользователей Linux с сервером Apache в определенных дистрибутивах, таких как Ubuntu. Кроме того, если корень имеет только подпапку, лучше переместить подпапку в корень.
Фараманд,

0

Akeeba Backup работает хорошо. Если у вас уже есть предыдущий сайт joomla, уже установленный в вашем корне, обязательно удалите папки joomla в корне, прежде чем перемещать новый сайт в корень, иначе у вас могут остаться чужие несовместимые шаблоны и т. Д., Оставшиеся от предыдущей версии.

Я бы также порекомендовал обратиться к администратору cpanel-> myPHP и экспортировать базу данных для другого уровня резервного копирования. Файл резервной копии Akeeba включает вашу базу данных, так что это просто избыточность.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.