Перенос WordPress в подкаталог без изменения URL-адресов

1 сент. 2015 г., 21:09:45
Просмотры: 16.9K
Голосов: 5

В настоящее время у меня есть сайт на site.com, и WordPress установлен в корневой папке сайта. Мой сайт включает страницы, такие как:

  • site.com
  • site.com/page
  • site.com/2015/10/01/post....
  • site.com/login
  • site.com/wp-content/uploads/...

Я хочу переместить все файлы WordPress в один подкаталог для удобства, НЕ ИЗМЕНЯЯ при этом ни одного публичного URL. Другие посты и официальная документация говорят о "Выделении WordPress отдельного каталога", но требуют изменения URL:

Подскажите, возможно ли это реализовать.

0
Все ответы на вопрос 3
0

Процедура подробно описана в Codex в разделе Перенос корневой установки в отдельную директорию.

Вы неверно понимаете момент об изменении URL-адресов, и да, терминология действительно неудачная. Изменятся только URL-адреса, основанные на "WP address". По сути, это относится к ядру WordPress, в основном к области администрирования.

Все URL-адреса контента основаны на "Site address", и после выполнения этой процедуры они по-прежнему будут указывать на корень вашего сайта.

Если вы хотите сохранить загрузки на месте, это можно сделать, оставив wp-content в корне (отделив его от папки ядра) и настроив конфигурацию соответствующим образом. См. Перемещение папки wp-content.

1 сент. 2015 г. 22:04:33
0

Вот как это делается:

  1. Переместите файлы wp-*, index.php, .htaccess в новую папку wordpress
  2. Отредактируйте wordpress/.htaccess:

    • Найдите строку: RewriteRule . /index.php [L]
    • Измените её на: RewriteRule . /wordpress/index.php [L]
  3. Создайте новый файл в /path/to/www с именем .htaccess и добавьте следующее:

RewriteEngine on
RewriteRule ^$ https://www.example.com/ [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1 [L]
</IfModule>
1 сент. 2015 г. 21:53:25
0

Метод переноса файлов WordPress в другую папку (директорию) без изменения конфигурации WordPress, то есть полностью прозрачно для WordPress:

  1. создайте директорию, в которую будет перенесена установка WordPress, например, "sitedir"
  2. переместите установку WordPress, включая файл .htaccess, в только что созданную директорию
  3. отредактируйте файл .htaccess в корневой директории сайта (скорее всего public_html) и вставьте следующие строки:
    RewriteEngine On
    RewriteBase /

    # редирект на ./sitedir/
    RewriteCond %{http_host} ^example\.com$
    RewriteCond %{request_uri} !^/sitedir(/.*)$
    RewriteRule ^(.*)$ /sitedir/$1 [L,QSA]

    # дополнительно, редирект с www.example.com на example.com
    RewriteCond %{http_host} ^www\.example\.com [NC]
    RewriteRule ^(.*) http://example.com/$1 [R=301,L]

Замените "example.com" на ваш домен и "sitedir" на имя папки, в которую будет помещен WordPress.

26 окт. 2016 г. 00:17:36