@AlexSSS

Как заставить Wordpress всегда получать 404 ошибку?

Добрый день!

Вопрос по Wordpress. Сталкиваюсь с ним первый раз, но не могу понять почему он всё время делает переадресацию на схожие страницы. Приведу пример. Есть ссылка вида site.ru/12345
Если я открываю site.ru/1234, то открывается принудительно site.ru/12345
Если я открываю site.ru/123, то открывается принудительно site.ru/12345
...
Т.е. движок ищет схожие записи и подставляет похожую, но в силу требований к сайту, такой вариант не устраивает.
Как решить эту проблему и заставить открывать движок только ту страницу, где я точно ввёл её название? Если ошибка будет хотя бы в одном символе - код 404.

Из плагинов стоят All in One SEO Pack, Cyr to Lat enhanced.
В настройках постоянных ссылок стоит: /%year%/%postname%/

Заранее спасибо за любую помощь!
  • Вопрос задан
  • 808 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mr_ko
Javascript, Node.js. React.js, Vue.js, Wordpress
Буквально вчера имел с этим дело. Только такая ситуация возникала на страницах и записях (у вас скорее всего в качестве гланой указана статическая страница), site.ru/post_slug/1234 оно возвращато страницу site.ru/post_slug. Такая ситуация возможно потому что в вордпресе есть возможность разбивать длинный пост/страниц на подстраницы и цифры после слеша это пагинация.
Проблему решили таким способом:
add_action('template_redirect', 'test_redirect');
function test_redirect() {
	global $page, $wp_query;
	
		if(is_singular()) {
			if($page > 0) {
				$wp_query->set_404();
				wp_redirect( '/', 404 );

			}
		}
}

Правда в таком варианте проскакивает адрес site.ru/post_slug/0, но можно добавить еще проверку url, но мы уже с этим не парились.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы