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

Каждый раз, когда я включаю постоянные ссылки% 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
mar91 15 Окт 2019 в 12:02

1 ответ

Лучший ответ

Поэтому я решил эту проблему, добавив в свой 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' );

1
mar91 22 Окт 2019 в 11:54