Перенаправление в .htaccess в Drupal 8.x

Главные вкладки

Аватар пользователя arochka arochka 8 ноября 2018 в 14:04

Доброго времени суток.
Есть сайт на друпал 8.х. Нужно сделать перенаправление в .htaccess с дефолтного что в CMS на свои. Оговорюсь сразу не когда в жизни не делал сайты т.е полный нуб. В корне сайта есть папка error, в ней есть страницы 301/2.htm, 404.htm и 500/1/2.htm там же (не в папке error, а в корневой папке сайта ) есть файл .htaccess. Куда что писать?
В Конфигурация - Система - Основные настройки сайта - Страницы ошибок :
Страница по умолчанию для ошибки 403 (доступ закрыт)
Указывал путь /error/301.htm не работает, системное сообщение: Either the path '/error/403.htm' is invalid or you do not have access to it.
По прямой ссылке moysayt.ru/error/404.htm всё прекрасно открывается.
Как сделать так чтоб при возникновении ошибки, к примеру 404 пользователь в своем браузере видел мою 404.htm?

ВложениеРазмер
Иконка изображения папка67.71 КБ
Иконка изображения корневая директория80.01 КБ

Комментарии

Аватар пользователя bsyomov bsyomov 8 ноября 2018 в 16:32
1

Обычно, правильнее сделать эти страницы не отдельными html файлами, а нодами(материалами, например, типа страница, или добавив свой тип) в Drupal, и прописать эти ноды, в найденных уже вами настройках, отредактировав нужным образом шаблоны для них, если это необходимо. Тем более, что шаблон можно поменять хоть для отдельного типа материала, хоть для конкретного материала...

Аватар пользователя Orion76 Orion76 8 ноября 2018 в 18:53
1

Если реализовать стандартно (как писали выше) страница будет выдаваться из кэша, т.е. всего на "пару" тактов процессора медленнее чем из статичного html.. А это фигня, по сравнению с мировой революцией..

Аватар пользователя bsyomov bsyomov 8 ноября 2018 в 19:15
1

Вообще говоря, а зачем вам тут спешить? Smile

Если хочется 404 быстро обрабатывать, есть fast404, и как доп модуль, и как механизм ядра. Но лучше в принципе как можно меньше запросов отдавать через drupal, и отдавать на статику, например, 404 просто как http заголовок вообще, а не страницу - ведь это нужно для браузера а не клиента, собственно. Это делается правильной конфигурацией веб сервера.

Если же речь про 403, например, то тут никуда не деться, надо обрабатывать на уровне приложения.

301 это вообще не ошибка, а перенаправление, какую тут ещё показывать html страницу? Ну и обрабатываться должно это приложением.

А вот 5хх придётся статикой отдавать, но никаких редиректов в .htaccess делать тут не нужно - это делается в apache дириктивой ErrorDocument, и error_page в nginx.