Лучший способ перенаправить сайт в подкаталог root?

У меня есть сайт WP 4.0, который был установлен на:

mydomain.com/site 

Он существует уже много лет, поэтому есть множество ссылок со всего Интернета, указывающих на него.

В рамках капитального ремонта, который я делаю, я хотел бы, чтобы сайт wordpress был доступен в корневом URI: mydomain.com (и www.mydomain.com), без необходимости «/ site».

Я нашел статьи, которые рассказывали мне о том, как скопировать index.php и .htaccess в корневой каталог и изменить URI сайта в настройках wordpress. Но инструкции, которые я встречал, всегда кажутся неполными, поскольку они, похоже, считают, что это новый сайт без каких-либо существующих ссылок, чтобы избежать большого количества ошибок 404.

Таким образом, проблема, которую я сейчас имею, заключается в том, что старые ссылки генерируют 404 ошибки (потому что в них есть «/ site /». Изображения также не отображаются, поскольку они, очевидно, хранятся в БД с «/ site /» в их URI.

Я пытаюсь найти отказоустойчивый способ использования .htaccess переписать правила, чтобы перенаправить все (за исключением, wp-admin, я полагаю?) С / site на /

В случае, если это полезно, моя существующая структура permalink – mydomain.com/site/%postname%-%post_id%/

Любые предложения по наилучшему способу решения этой проблемы будут очень признательны. Благодарю.

Единственный способ, которым мне удалось заставить это работать, было следующее в .htaccess каталога / site / :

 RewriteBase \ RedirectMatch 301 ^/site/$ /$1 RedirectMatch 301 ^/site/(?!wp-admin/|wp-content/|wp-includes/)(.*)$ /$1 

Хотя мне известно, что RewriteRule ^site/ /$1 [R=301,NC,L] должен был работать, и что RewriteRule ^site/(.*)$ /$1 [R=301,NC,L] должен был работать (согласно различным статьям, которые я читал), мне не повезло с ними (и без ошибок сервера).

Мой хост Hostgator.com – в случае, если этот результат имеет отношение к их конкретной конфигурации (что я сомневаюсь).

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

 /** Loads the WordPress Environment and Template */ require( dirname( __FILE__ ) . '/site/wp-blog-header.php' ) 

Замените сайт на папку. Затем в настройках администратора – общее изменение URL-адреса сайта и удаление папки http://www.website.co.uk/site будет http://www.website.co.uk

Тогда сохранить сайт будет работать нормально, хотя вам нужно будет удалить .htaccess и сохранить константные ссылки, чтобы убедиться, что он следует новой структуре.