Вопрос или проблема
Я пытался просто скопировать всю корневую папку в подпапку. Я понимаю, что файл .htaccess нужно изменить. Но не могу заставить его работать правильно.
Есть ли что-то еще, кроме изменения файла htaccess, что мне нужно сделать, чтобы это стало возможным?
Как я уже говорил в вопросе, я хочу использовать ту же базу данных. Поэтому я не могу менять никакие URL-адреса в базе данных.
Правка: Я выяснил, что сайт действительно заходит в папку, но затем перенаправляет обратно в корень. Я изменил URL сайта с помощью WP_SITEURL
и WP_HOME
в файле wp-config.php. Но ничего не происходит, сайт все равно перенаправляет обратно.
Вам нужно СКОПИРОВАТЬ файл index.php в корень и отредактировать его, чтобы добавить путь к подпапке.
Ответ или решение
Копирование сайта WordPress в подкаталог с использованием той же базы данных может быть довольно сложной задачей, особенно если вы хотите избежать изменений в базе данных. Давайте разберем необходимые шаги, чтобы успешно выполнить эту задачу.
Шаги для копирования сайта WordPress в подкаталог
-
Копирование файлов:
- Сначала создайте подкаталог в корневой директории вашего сайта. Например, назовите его
subdirectory
. - Скопируйте все файлы из корневой директории WordPress в созданный подкаталог
subdirectory
.
- Сначала создайте подкаталог в корневой директории вашего сайта. Например, назовите его
-
Изменение
index.php
:- Откройте файл
index.php
, который вы скопировали в подкаталог. - Найдите строку с
require( './wp-blog-header.php' );
и замените её на:require( './subdirectory/wp-blog-header.php' );
Это нужно для того, чтобы WordPress мог правильно загружать необходимые файлы из подкаталога.
- Откройте файл
-
Обновление
htaccess
:- Откройте файл
.htaccess
, который находится в корневой директории. - Убедитесь, что у вас есть правила для обработки URL, которые должны выглядеть примерно так:
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
- Откройте файл
-
Настройка
wp-config.php
:- В
wp-config.php
вам нужно указать значения дляWP_HOME
иWP_SITEURL
. Добавьте следующие строки:define('WP_HOME', 'http://yourdomain.com/subdirectory'); define('WP_SITEURL', 'http://yourdomain.com/subdirectory');
Измените
http://yourdomain.com
на ваш фактический домен. Это поможет предотвратить перенаправление обратно на корень сайта.
- В
-
Проверка постоянных ссылок:
- После завершения изменений вам следует зайти в админку вашего сайта (если возможно), перейти в раздел «Настройки» -> «Постоянные ссылки» и просто нажать «Сохранить изменения» без изменений в настройках. Это обновит структуру ссылок и может устранить возможные проблемы с перенаправлением.
-
Проверка работы сайта:
- После выполнения всех действий зайдите по адресу
http://yourdomain.com/subdirectory
и проверьте, работает ли сайт. Убедитесь, что все страницы, посты и ресурсы загружаются корректно.
- После выполнения всех действий зайдите по адресу
Дополнительные советы:
- Если ваш сайт использует кэширование (например, плагины кэширования), не забудьте очистить кэш после внесения изменений.
- Если вы сталкиваетесь с проблемами, проверьте логи сервера на наличие ошибок, так как это может помочь диагностировать проблемы.
- Не забудьте создать резервные копии файлов и базы данных перед внесением любых изменений.
Следуя этим шагам, вы должны быть в состоянии успешно перенести свой сайт WordPress в подкаталог, используя ту же базу данных, без необходимости менять URL в базе данных. Если возникнут дополнительные вопросы, не стесняйтесь спрашивать!