Drupal некоторые несуществующие страницы не перенаправляет на 404 ошибку. Что делать?

Проблема

Покажу на примере моего сайта. С помощью представления и моделя Views у меня настроена страница с портфолио: https://tambaum.ru/portfolio

Если в конце URL дописать любые несуществующие символы
(например, https://tambaum.ru/portfolio/blablabla),
то Drupal отобразит эту страницу с кодом 200 и покажет содержимое https://tambaum.ru/portfolio

Таким образом создается дублирование контента, что нехорошо.

Решение

Заходим в настройки представления "Портфолио" и добавляем контекстный фильтр "Содержимое: Тип":

Для блока "КОГДА ЗНАЧЕНИЕ ФИЛЬТРА ПРИСУТСТВУЕТ В URL ИЛИ ПРЕДОСТАВЛЯЕТСЯ ПО УМОЛЧАНИЮ" устанавливаем галку "Укажите критерии проверки" и в выпадающем меню "Проверка" выбираем "Содержимое", как показано на скриншоте:

Проверяем результат, заходим по ссылке https://tambaum.ru/portfolio и убеждаемся, что выдается 404 ошибка.

Кстати, настроить внешний вид 404 ошибки можно следующим образом:

  1. Создаете Обычную страницу с заголовоком "404 ошибка — страница не найдена"
  2. Копируете URL этой страницы
  3. Заходите в раздел "Информация о сайте" /admin/config/system/site-information
  4. В блоке "Страницы ошибок" указываете URL вашей 404 ошибки
Как со мной связаться

8 (921) 940-95-96

artem@tambaum.ru

или...

What’s APP

Telegramm

или...

Vk.com

#Бегущий_вебмастер
  • С 2018 года спорт для меня стал неотъемлемой частью жизни, я начал заниматься бегом
  • похудел на 18 кг., стал питаться правильной и полезной едой
  • на соревнованиях ЗАБЕГ.РФ на дистанции 5 км. занял 8 место (из 2500 человек)
  • на соревнованиях СПБПОЛУМАРАФОН на дистанции 10 км. занял 18 место (из 1500 человек)
  • Мои беговые результаты: 1 км. 2:50, 3 км. 9:33, 5 км. 17:15, 10 км 35:00, 21 км 1:18, 42 км 2:47

Мой блог