Есть моменты, когда вам нужно создать сайт WordPress в подкаталоге, а не в корневом каталоге домена, на котором он размещен. Иногда я делаю это, если я разрабатываю новый сайт WordPress для замены статического сайта, и я хочу оставить статический сайт на месте, предоставляя клиенту доступ к новому сайту во время разработки для утверждения. Даже если вы занимаетесь разработкой локально, вам иногда может понадобиться это сделать.
Когда вы приходите, чтобы сделать сайт живым, вы не хотите, чтобы его URL был mysite.com/subdirectory — вы хотите, чтобы он был mysite.com. Таким образом, вы можете подумать, что вам нужно вручную переместить сайт из его подкаталога в корневой каталог сайта.
Хорошей новостью является то, что вы этого не делаете. Вы можете оставить сайт именно там, где он есть, и просто рассказать WordPress о том, что вы сделали, внеся несколько изменений в настройки и незначительные изменения пары файлов. Это займет пять минут или меньше.
Что вам нужно
Чтобы следовать этому уроку, вам понадобится:
- установка WordPress, готовая к запуску
- FTP-клиент или файловый менеджер CPanel
- редактор кода
Этот метод будет работать в стандартной установке WordPress и будет работать с большинством фреймворков или если вы используете структуру родительских и дочерних тем.
Осторожно! Этот метод не будет работать для многосайтовых установок, которые всегда должны находиться в корневом каталоге.
Прежде чем ты начнешь
Перед тем, как сделать это, лучше сделать резервную копию вашего сайта, на всякий случай. Используйте для этого предпочитаемый плагин резервного копирования. И если вы не установили резервный плагин до запуска, вы действительно должны!
Избавляемся от старого сайта
Есть ли у вашего клиента ужасный, устаревший, статичный сайт, который он попросил вас обновить и перейти на WordPress? Сейчас самое время отправить его в историю.
Удаление статического сайта
Если в корневом каталоге есть статический сайт, удалите файлы для него. Я стараюсь делать резервные копии локально на тот случай, если мой клиент решит, что ему нужно что-то со старого сайта, хотя этого еще не произошло.
Удаление сайта WordPress
Если в корневом каталоге есть существующий сайт WordPress, вам необходимо полностью удалить его:
- Удалить (удалить) базу данных старого сайта с помощью phpMyAdmin. Вероятно, у вас будет две базы данных: одна для старого сайта и одна для нового. Если вы не уверены, какой именно, проверьте файл
wp-config.php
для старого сайта, и он скажет вам, какую базу данных удалить. За советом по удалению базы данных обратитесь к этой теме о переполнении стека. - Удалите все файлы и папки WordPress в корневом каталоге, стараясь не удалять папку, в которой находится ваш новый сайт.
- Осторожно: не делайте этого, пока не сделаете резервную копию!
Редактирование настроек вашего нового сайта
Вам нужно будет отредактировать две настройки на вашем новом сайте: постоянные ссылки и адрес сайта.
Отключите красивые постоянные ссылки на экране Постоянные ссылки, который вы найдете в меню «Настройки»> «Постоянные ссылки» Для этого выберите параметр « По умолчанию» и нажмите « Сохранить изменения» .
В разделе «Настройки»> «Основные» измените адрес своего сайта, но не адрес WordPress. Например, если вы работали на сайте по адресу example.com/development
, измените настройки следующим образом:
- Адрес WordPress (URL):
http://example.com/development
- Адрес сайта (URL):
http://example.com
Нажмите кнопку Сохранить изменения и перейдите к следующим шагам, прежде чем пытаться получить доступ к своему сайту.
Редактирование и копирование файлов
Прежде чем вы сможете получить доступ к своему сайту, вам нужно будет внести незначительные изменения в пару файлов, чтобы WordPress знал, где найти сайт.
Копирование файлов
Используя файловый менеджер FTP или CPanel, скопируйте (не перемещайте) следующие файлы из вашего каталога WordPress в корневой каталог:
-
index.php
-
.htaccess
, если у вас есть. Если файла.htaccess
(а тот факт, что вы отключили довольно постоянные ссылки, означает, что он у вас реже), не беспокойтесь о его создании — просто пропустите этот шаг.
Редактирование index.php
Отредактируйте файл index.php
который вы переместили. Вы можете сделать это:
- редактировать его на месте после перемещения, используя FTP-клиент или файловый менеджер cPanel
- загрузить его из подкаталога, отредактировать его и затем загрузить в корневой каталог — вместо того, чтобы делать копию
Редактирование, которое вам нужно сделать, заключается в одной строке в конце файла. Найдите строку, которая выглядит следующим образом:
1
|
require (‘./wp-blog-header.php)
|
Измените это на:
1
|
require (‘./subdirectoryname/wp-blog-header.php)
|
Так что если вы разрабатывали в example.com/development
, просто измените строку на:
1
|
require (‘./development/wp-blog-header.php)
|
Сохраните новый файл index.php
.
Заключительные шаги
Вернувшись к экранам администрирования WordPress, снова включите симпатичные постоянные ссылки с любыми настройками, необходимыми для вашего сайта.
Посетите корневой домен вашего сайта в браузере, и он отобразит сайт, который хранится в подкаталоге, но не отобразит его в URL-адресе, который будет отображаться в качестве корневого URL-адреса. Вот и все!
Резюме
Как вы можете видеть, перемещение WordPress из подкаталога в корневой каталог невероятно просто и фактически не требует перемещения WordPress. Просто измените некоторые настройки, скопируйте и отредактируйте пару файлов, и все готово.