Wordpress: неполный URL-адрес перенаправляет на фактическую страницу

Странное поведение для сайта Wordpress. Когда я ввожу неполный URL-адрес, вместо ошибки 404 меня перенаправляют на страницу, URL-адрес которой начинается с неполной записи.

Например, когда я ввожу это в своем браузере:

http://www.launchmoxie.com/jv/timeless

Меня перенаправляют на:

http://www.launchmoxie.com/jv/timelessrhythm/timeless-rhythm-optin-confirmation/

Есть несколько страниц, которые начинаются с начального URL-адреса, но я бы предпочел, чтобы пользователю была предоставлена ​​ошибка 404, или я был бы в порядке, если бы мог указать, какая из страниц будет обслуживаться.

Это происходит для других страниц с аналогичной структурой.

Я довольно озадачен. Любая помощь/предложения будут оценены.


person Burt Lo    schedule 27.07.2014    source источник
comment
Лучше спросить об этом на wordpress.stackexchange.com. На самом деле, там уже есть вопрос и ответ по этому поводу. Похоже, это поведение WP по умолчанию. (Я никогда раньше не замечал, но мой сайт делает то же самое.)   -  person Matt Gibson    schedule 28.07.2014
comment
Спасибо, Мэтт! Странно, такое поведение по умолчанию, да?   -  person Burt Lo    schedule 28.07.2014
comment
ОБНОВЛЕНИЕ: спасибо Мэтту Гипсону, это общепризнанное поведение, которое рассматривается здесь: core. trac.wordpress.org/ticket/16557   -  person Burt Lo    schedule 28.07.2014
comment
Я поставлю это как ответ здесь. Я проверил мета, кажется, что это неразумно задавать один и тот же вопрос на разных сайтах в сети, если это кажется подходящим для обоих.   -  person Matt Gibson    schedule 28.07.2014


Ответы (1)


Это стандартное поведение WordPress, и оно является частью процесса канонизации URL — оно находится в redirect_canonical. Существует билет, позволяющий переопределить только этот бит автозаполнения, но это не сделано это еще в релизе.

В то же время в этом билете предлагается обходной путь:

function remove_redirect_guess_404_permalink( $redirect_url ) {
    if ( is_404() )
        return false;
    return $redirect_url;
}
add_filter( 'redirect_canonical', 'remove_redirect_guess_404_permalink' );

...который любезный человек также превратил в плагин.

person Matt Gibson    schedule 28.07.2014