Дублирование сайта WordPress в подкаталоге с использованием той же базы данных

Вопрос или проблема

Я пытался просто скопировать всю корневую папку в подпапку. Я понимаю, что файл .htaccess нужно изменить. Но не могу заставить его работать правильно.

Есть ли что-то еще, кроме изменения файла htaccess, что мне нужно сделать, чтобы это стало возможным?

Как я уже говорил в вопросе, я хочу использовать ту же базу данных. Поэтому я не могу менять никакие URL-адреса в базе данных.

Правка: Я выяснил, что сайт действительно заходит в папку, но затем перенаправляет обратно в корень. Я изменил URL сайта с помощью WP_SITEURL и WP_HOME в файле wp-config.php. Но ничего не происходит, сайт все равно перенаправляет обратно.

http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install

Вам нужно СКОПИРОВАТЬ файл index.php в корень и отредактировать его, чтобы добавить путь к подпапке.

Ответ или решение

Копирование сайта WordPress в подкаталог с использованием той же базы данных может быть довольно сложной задачей, особенно если вы хотите избежать изменений в базе данных. Давайте разберем необходимые шаги, чтобы успешно выполнить эту задачу.

Шаги для копирования сайта WordPress в подкаталог

  1. Копирование файлов:

    • Сначала создайте подкаталог в корневой директории вашего сайта. Например, назовите его subdirectory.
    • Скопируйте все файлы из корневой директории WordPress в созданный подкаталог subdirectory.
  2. Изменение index.php:

    • Откройте файл index.php, который вы скопировали в подкаталог.
    • Найдите строку с require( './wp-blog-header.php' ); и замените её на:
      require( './subdirectory/wp-blog-header.php' );

      Это нужно для того, чтобы WordPress мог правильно загружать необходимые файлы из подкаталога.

  3. Обновление htaccess:

    • Откройте файл .htaccess, который находится в корневой директории.
    • Убедитесь, что у вас есть правила для обработки URL, которые должны выглядеть примерно так:
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
  4. Настройка 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 на ваш фактический домен. Это поможет предотвратить перенаправление обратно на корень сайта.

  5. Проверка постоянных ссылок:

    • После завершения изменений вам следует зайти в админку вашего сайта (если возможно), перейти в раздел «Настройки» -> «Постоянные ссылки» и просто нажать «Сохранить изменения» без изменений в настройках. Это обновит структуру ссылок и может устранить возможные проблемы с перенаправлением.
  6. Проверка работы сайта:

    • После выполнения всех действий зайдите по адресу http://yourdomain.com/subdirectory и проверьте, работает ли сайт. Убедитесь, что все страницы, посты и ресурсы загружаются корректно.

Дополнительные советы:

  • Если ваш сайт использует кэширование (например, плагины кэширования), не забудьте очистить кэш после внесения изменений.
  • Если вы сталкиваетесь с проблемами, проверьте логи сервера на наличие ошибок, так как это может помочь диагностировать проблемы.
  • Не забудьте создать резервные копии файлов и базы данных перед внесением любых изменений.

Следуя этим шагам, вы должны быть в состоянии успешно перенести свой сайт WordPress в подкаталог, используя ту же базу данных, без необходимости менять URL в базе данных. Если возникнут дополнительные вопросы, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...