Wordpress% postname% постоянные ссылки ломают статическую домашнюю страницу (301) - PullRequest
1 голос
/ 15 октября 2019

поэтому у меня возникла эта проблема некоторое время, и я не могу найти подходящее решение.

Всякий раз, когда я включаю постоянные ссылки% postname%, моя статическая домашняя страница https://example.com/xy перестает работать и выдает 301 «сайт не перенаправляет должным образом »ошибки, в то время как любые другие сообщения или страницы на сайте перенаправляют должным образом, пример https://example.com/xy/about-us работает.

Если я вернусь к простым ссылкам, у меня нет проблем. Я заметил две вещи: если я добавлю «index.php» в конце домашней страницы, он снова загрузится, например, https://example.com/xy/index.php.

% postname% Постоянные ссылки также будут работать, если я установлю URL сайта. внутри wp-config.php, как это

define( ‘WP_HOME’, ‘http://example.com/xy’ );

define( ‘WP_SITEURL’, ‘http://example.com/xy’ );

Однако я должен сохранять относительный путь URL сайта, поэтому это нежелательноисправить.

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

RewriteEngine On
RewriteBase /xy/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /xy/index.php [L]
</IfModule>

1 Ответ

0 голосов
/ 22 октября 2019

Так что я обошел эту проблему, добавив следующее в мои functions.php

function disable_front_page_redirects($redirect_url) {
        if( is_front_page() ) {
                $redirect_url = false;
        }

        return $redirect_url;
}

add_filter( 'redirect_canonical', 'disable_front_page_redirects' );

...