Пользовательская страница ошибки Joomla не работает должным образом

Долгое время я пытался включить пользовательскую страницу 404 для своего веб-сайта joomla 2.5, потому что красная страница ошибки по умолчанию не была вариантом.

Я включил его, однако он отображается только в том случае, если пользователь вводит site.com/wrong_page, и если пользователи вводят URL-адрес следующей структуры site.com/wrong_page/wrong_page, он ничего не показывает, просто пустая пустая страница.

Итак, если пользователь переходит на страницу «Товары», а затем переходит к несуществующему элементу site.com/goods/wrong_itemid, он не будет показывать пользовательскую ошибку, он ничего не показывает, но если пользователь откроет site.com/wrong_link, он увидит пользовательскую ошибку. страница.

Пожалуйста, помогите мне разобраться с этим.

Я использовал следующее в error.php:

switch ($this->error->code) {
   case '404':
      header('location: /404-page');
      break;
   case '500':
      include('500.php');
      break;
   case '403':
      include('403.php');
      break;
   default:
      header('location: /404-page');
    }

person user1584043    schedule 27.10.2014    source источник
comment
Покажите нам некоторые из ваших фрагментов кода   -  person Umair Ayub    schedule 27.10.2014
comment
Я добавил код, который использовал   -  person user1584043    schedule 27.10.2014


Ответы (2)


Это то, что я сделал в Joomla 2.5

  • создайте свою собственную статью «404»

  • создайте новый неопубликованный пункт меню, который ссылается на эту новую статью 404, и «примените» ваши изменения. Скопируйте URL этой страницы (index.php?optio...)

  • в вашей установке Joomla скопируйте файл error.php из каталога templates/system в каталог вашего шаблона.

  • Отредактируйте файл error.php и добавьте следующий код сразу под строкой «ограниченный доступ»:

    if (($this->error->getCode()) == '404') {
    header('Location: /index.php?option=com_content&view=article&id=xx');
    exit;< бр> }

ОБНОВЛЕНИЕ
Описанный выше метод предназначен для простого создания пользовательской страницы. Вы можете использовать встроенный текстовый редактор Joomla, и страница будет соответствовать стилю вашего сайта. @Flimm правильно указал ниже, что страница больше не будет отображать HTTP-заголовок 404. Если вас это беспокоит, есть еще один вариант: - при установке Joomla скопируйте файл error.php из каталога templates/system в каталог шаблонов.

  • Откройте копию error.php в каталоге вашего шаблона с помощью любого текстового редактора и отредактируйте HTML-код внутри тега <body> по своему усмотрению.

Удачи!

person David Taiaroa    schedule 28.10.2014
comment
Чувствую себя дураком, потому что, кажется, пробовал, но в прошлый раз не получилось)) Зато теперь работает отлично! Большое спасибо! - person user1584043; 29.10.2014
comment
Спасибо, @user1584043, я рад, что это помогло вам избавиться от застревания! - person David Taiaroa; 29.10.2014
comment
@Flimm, спасибо, что указали на это, я обновил свое предложение. - person David Taiaroa; 16.11.2015

Попробуйте установить его с помощью htaccess.

ErrorDocument 404 /page404.php
ErrorDocument 500 /page500.php

Надеюсь, поможет..

person Jobin    schedule 27.10.2014