Проблема с отображением страницы ошибки
У меня есть некоторые проблемы для создания страницы пользовательских ошибок для моего сайта. Joomla установлен в корне моего домена.
Я создал страницу error.php
внутри templates/mytemplate/
, но эта страница не отображается каждый раз, когда я вставляю неправильный URL-адрес.
Ниже приведены некоторые примеры, чтобы лучше объяснить мою проблему с типизированным URL-адресом и соответствующей страницей:
- www.example.org/something-not-existing
-->
не страница с пользовательскими ошибками (см. ниже ) литий> - www.example.org/index.php/something-not-existing
-->
домашняя страница - www.example.org/index.php?option=com_component-not-existing
-->
пользовательская страница ошибок,404 Component not found
- www.example.org/index.php?option=com_existing-component&view=not-existing-view
-->
пользовательская ошибка страница,500 View not found
Нестандартная страница ошибок:
Не найдено
Запрошенный URL /что-то не существующий не найден на этом сервер.
Кроме того, при попытке выполнить ошибку 404 Not Found используйте обработчик запроса ErrorDocument.
Почему я не получаю страницу пользовательских ошибок также в первых двух случаях?
3 ответа
ErrorDocument 404 /templates/mytemplate/error.php
Это не способ сделать это. Все запросы Joomla передаются через index.php и NOT непосредственно на страницу с ошибкой.
Добавить
ErrorDocument 404 default
ErrorDocument 401 default
в вашем .htaccess, чтобы перезаписать конфигурацию ваших серверов и запустить встроенный обработчик Joomla. Также убедитесь, что ваш сервер настроен так, чтобы разрешить переписывание URL-адресов. Вы должны использовать файл Joomla htaccess.txt по умолчанию в качестве базы для вашего собственного файла .htaccess с включением двух вышеуказанных строк.
Вы можете попробовать добавить в свой .htaccess
RewriteEngine On
ErrorDocument 404 /templates/mytemplate/error.php
Возможно, это связано с тем, что вы не используете файл .htaccess
(или он не был настроен правильно).
При вводе вашего URL без index.php
он дает стандартную страницу с ошибкой 404, потому что Joomla даже не загружен и не может представить пользовательскую страницу ошибки 404 (я предполагаю это - не уверен в технических деталях).
Попробуйте переименовать htaccess.txt
в .htaccess
в корневой папке Joomla. Возможно, вам придется раскомментировать следующую строку, но это зависит от настроек вашего сервера:
RewriteBase /
Теперь вы должны получить свою страницу пользовательских ошибок для всех приведенных выше примеров.
Надеюсь, что это поможет.