WordPress: «wp-admin-canonical» получает неправильный URL, в результате чего ссылки внутри wp-admin используют root вместо подкаталога

#php #wordpress #proxy #reverse-proxy #proxypass

#php #wordpress #прокси #обратный прокси #proxypass

Вопрос:

Я столкнулся со странной проблемой, когда что-то с настройками URL приводит только к разрыву внутренних ссылок / wp-admin / .

Для уточнения; Я переношу установку из blog.example.com в example.com/folder/blog .

После смены WordPress siteurl на новый интерфейс блога работает отлично, как и ожидалось. После входа в wp-admin по адресу example.com/folder/blog/wp-admin ; URL в браузере меняется на example.com/wp-admin , как и все внутренние ссылки в панели администратора.

Следовательно, нажатие на любую ссылку не работает. Однако, если я вручную добавлю /folder/blog/ к ссылке; страница загружается нормально, за исключением того, что URL снова возвращается к корневому уровню.

Я определил, что это происходит с помощью Javascript. Отключение Javascipt означает, что страница загружается нормально. Просматривая разметку страницы, я обнаружил следующие строки:

 <link id="wp-admin-canonical" rel="canonical" href="http://example.com/wp-admin/" />
<script>
    if ( window.history.replaceState ) {
        window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href   window.location.hash );
    }
</script>
  

Если значение в canonical было правильным, оно должно было быть http://example.com/folder/blog/wp-admin/

Я никогда раньше с этим не сталкивался. Я пропустил какую-либо ссылку, которую я должен изменить?

Сервер использует ProxyPass; возможно, чего-то не хватает с этим?