Доброго времени суток.
Есть сайт на друпал 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 КБ |
Комментарии
Обычно, правильнее сделать эти страницы не отдельными html файлами, а нодами(материалами, например, типа страница, или добавив свой тип) в Drupal, и прописать эти ноды, в найденных уже вами настройках, отредактировав нужным образом шаблоны для них, если это необходимо. Тем более, что шаблон можно поменять хоть для отдельного типа материала, хоть для конкретного материала...
А нагрузка на сервер? Ведь если это прописать в .htaccess запрос будет обрабатываться быстрее...
Если реализовать стандартно (как писали выше) страница будет выдаваться из кэша, т.е. всего на "пару" тактов процессора медленнее чем из статичного html.. А это фигня, по сравнению с мировой революцией..
Вообще говоря, а зачем вам тут спешить?
Если хочется 404 быстро обрабатывать, есть fast404, и как доп модуль, и как механизм ядра. Но лучше в принципе как можно меньше запросов отдавать через drupal, и отдавать на статику, например, 404 просто как http заголовок вообще, а не страницу - ведь это нужно для браузера а не клиента, собственно. Это делается правильной конфигурацией веб сервера.
Если же речь про 403, например, то тут никуда не деться, надо обрабатывать на уровне приложения.
301 это вообще не ошибка, а перенаправление, какую тут ещё показывать html страницу? Ну и обрабатываться должно это приложением.
А вот 5хх придётся статикой отдавать, но никаких редиректов в .htaccess делать тут не нужно - это делается в apache дириктивой ErrorDocument, и error_page в nginx.
Благодарю. Всё разъяснено доходчиво.