Помилка 404 Joomla

44

Від автора: вітаю Вас, дорогий друже. При відвідуванні Вашого сайту, так чи інакше, користувачі будуть звертатися до неіснуючих сторінок. І причини можуть бути самими різними: помилка в написанні адреси, вилучений матеріал, який раніше був проіндексований пошуковою системою і т. д. Тому в даній статті ми з Вами поговоримо про те, що таке помилка 404 Joomla, так само коротко розглянемо компонент sh404sef joomla 3 і подивимося які він надає інструменти з обробки вищевказаної помилки.

Що таке помилка 404?

Помилка 404, або 404 Not Found – це стандартний код відповіді HTTP протоколу, який вказує на те, що запитуваний ресурс (сторінка) не знайдено. Але Ви повинні розуміти, що якщо виникає ця помилка – доступ до сервера є, але при цьому, не можливо знайти дані, які відповідають запиту користувача. Спілкуючись із сервером за допомогою протоколу HTTP, так чи інакше, ми отримуємо різні тризначні коди стану запиту, і якщо ресурс успішно знайдений, то в якості відповіді, Ви отримаєте наступний результат — 200 Ok (Ок – пояснення до коду помилки). Якщо ресурс не доступний, як ми вже знаємо — помилка 404.

При цьому в коді 404, перша цифра 4, вказує помилку на клієнтській стороні, тобто програмного забезпечення користувача (наприклад, в браузері вказано не вірний адреса сторінки). Так само дана цифра, як би формує групу помилок 4х.х. Друга цифра 0, вказує на загальну помилку синтаксису для протоколу HTTP. І нарешті, остання – 4, конкретно вказує на те, що ресурс не знайдено.

Тому ми, як розробники, повинні розуміти, що дана помилка може виникнути, а значить, її потрібно обробляти. Ви можете запитати, як же обробити цю помилку, якщо вона повертається у вигляді коду статусу запиту? І це дійсно так, але якщо ми працюємо з Joomla, ми повинні знати, що абсолютно всі запити, на відображення сторінок або виконання будь-яких дій, що зводяться до єдиної точки входу в CMS, і це файл index.php. Дана точка входу, практично завжди доступна (зараз ми не говоримо про випадки коли його немає, так як це вже проблеми з цілісністю самої CMS), а отже у відповідності з запитом користувача, саме вона вирішує, який елемент CMS повинен виконати поставлене завдання. Таким чином, якщо запитуваний ресурс, не може бути знайдений, CMS самостійно формує, вищезазначену помилку, тобто як відповідь на поставлений запит, повертається спеціальна сторінка Joomla, яка вказує, що ресурс не знайдено і в якості заголовка відправляється код статусу запиту 404 Not Found.

Як зробити 404 сторінку Joomla 3

Тепер давайте поговоримо про те, як зробити 404 сторінку Joomla 3. Як я говорив Вище дана сторінка формується безпосередньо движком, а значить дизайн та оформлення формується в шаблоні. Тобто якщо ми перейдемо в каталог templates исходников Joomla, а потім в папку активного шаблону, в моєму випадку це beez3, ми побачимо файл error.php, який як раз і відповідає за виведення вмісту сторінки 404. До речі, за замовчуванням, дана сторінка виглядає наступним чином!

Таким чином, якщо Вам необхідно змінити дизайн даної сторінки, потрібно правити код файлу error.php. При цьому текстовий вміст, який Ви бачите на сторінці 404, відображається з поточної локалізації Joomla, тобто в коді файлу Ви можете побачити мовні константи, наприклад JERROR_LAYOUT_PAGE_NOT_FOUND, значення яких описані в файлах «словниках» відповідної локалізації. Для шаблону Beez3, значення мовних констант, використовуваних на сторінці 404, містяться у файлі en-GB.ini, який розташовується за адресою \language\en-GB (тобто для англійської локалізації). Відповідно Ви можете, в файлі error.php змінити структуру HTML розмітки, підключити власні стилі, змінити вміст мовних констант, або взагалі їх не використовуючи, прописати необхідний текст сторінки 404 – тобто абсолютно все, що Вам потрібно.

Так само для створення власної сторінки 404, Ви можете використовувати довільний матеріал, на який згодом у файлі error.php, організуєте просте перенаправлення. Тому давайте створимо необхідну статтю в менеджері матеріалів Joomla.

При цьому в параметрах публікації, я відключив показ допоміжної інформації за матеріалом, а саме ім’я категорії, ім’я автора, дата додавання і т. д.

Тепер давайте подивимося, як налаштувати перенаправлення на сторінку 404 joomla 3. Для цього в файл error.php додамо наступний код (замінимо його код).

Для використання коду, необхідно знати ім’я та псевдонім створеного матеріалу, а так само ідентифікатор категорії, до якої прив’язаний використовуваний матеріал (дані параметри можна дізнатися у відповідних менеджерів). Зверніть увагу, що метод _(), класу JRoute, формує людино-зрозумілу посилання зі звичайного URL. Синтаксис використовується URL наступний.

‘index.php?option=com_content&view=article&id=ідентифікатор матеріалу:псевдонім матеріалу&catid=ідентифікатор категорії’

Тепер сторінка 404 виглядає наступним чином.

Хотів би зазначити, що використовуючи розширення sh404sef joomla 3, Ви можете створити власну сторінку 404, без правок файлу error.php, так як дана можливість передбачена функціоналом. Тобто, встановивши вищевказаний компонент, необхідно перейти в налаштування і включити оптимізацію посилань.

Потім на вкладці «Сторінка помилки», в розділі цікавить локалізації, використовуючи візуальний редактор, Ви можете оформити власну сторінку для 404.

Після збереження змін, вищевказана сторінка буде виглядати наступним чином.

Більш докладно робота з посиланнями та механізмом формування ЧПУ, показана в курсі Joomla-Професіонал: створення розширень для Joomla. Ось і все про що я хотів розповісти в даній статті. Всього Вам доброго і вдалого кодування!!!