Своя страница 404

Автор digger®, 06 июля 2020, 16:35:18

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

digger®

В корне форума создаем файл 404.php с кодом

<?php

require(dirname(__FILE__) . '/SSI.php');

$context['page_title'] = 'Страница не найдена';

$context['linktree'][] = [
  
'url' => $_SERVER['PHP_SELF'],
  
'name' => '404'
];

template_init();
template_header();
?>


<!-- Вставляем сюда любой свой html код или текст-->
Эта страница не найдена, перейти на <a href="/">главную</a>.

<?php
template_footer
();


В Apache или Nginx для обработчика 404 ошибок указываем этот файл.

Для Apache в .htaccess добавить строку
ErrorDocument 404 /404.php

artvolt

Digger, спасибо! Теперь всё нормально работает, адреса с нерабочими словами сразу после домена направляются на нормальную форумную страницу с уведомлением об ошибке и ссылкой на главную.

Анализаторы домена теперь ставят зелёную галочку по поводу пунктов:

ЦитироватьКод ответа несуществующей страницы 404 - Все отлично, получен код 404.

Ссылка со страницы 404 - Ссылка со страницы 404 найдена.
👍 Форум на движке SMF - Art Cafe ~ 👍 Блог Позитивных Новостей - https://www.joynews.ru ~ 👍 Качественный хостинг и домены по хорошим ценам - "Hostland"

artvolt

Обнаружилась проблема. Если ставить мод "Pretty Urls" - для ЧПУ ссылок, то отображение страницы 404 слетает. И теперь при наборе несуществующих страниц - отображается главная страница форума, а в адресной строке  при этом так и отображается не существующий адрес. Анализаторы сайтов показывают теперь что страница 404 не настроена.

Я почитал, такая же проблема была у старого мода "Apache Error Handler" (которого уже нет в официальном архиве модов) - в обсуждениях на англоязычном форуме многие жаловались что "Pretty Urls" нарушает работу 404-х страниц. Там советовали ставить в ".htaccess" строки про 404 после записей "Pretty Urls", я попробовал но не помогло.

Есть ли возможность как-то настроить 404-ю страницу совместно с "Pretty", или придётся что-то одно выбирать - ЧПУ "Pretty Urls" оставлять или чтобы нормальная 404-я была?
👍 Форум на движке SMF - Art Cafe ~ 👍 Блог Позитивных Новостей - https://www.joynews.ru ~ 👍 Качественный хостинг и домены по хорошим ценам - "Hostland"

Yarik

Я это чинил. Как раз в связке с этим модом. В .htaccess вставляются как я помню правила. Скиньте что вставляется.
Может быть по памяти вспомню. Или сейчас в своих записях пороюсь. Давно было и форума того уже нет так же давно.

artvolt

#4
Вот что автоматическии вставляет "Pretty Urls" в ".htaccess"

# Pretty URLs mod
# http://code.google.com/p/prettyurls/
# .htaccess file generated automatically on: May 15, 2023, 17:02

RewriteEngine on

# Rules for: boards
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/?$ ./index.php?pretty;board=$1.0 [L,QSA]
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/([0-9]*)/?$ ./index.php?pretty;board=$1.$2 [L,QSA]

Поначалу там было ещё больше данных, но я установил показ ЧПУ только для разделов, и остальное автоматически пропало. Вообще "Pretty Urls" здорово самовольно корректирует ".htaccess". После установки все предыдущие записи (код для перенаправления на https и т.д.) просто пропали - остались только записи касающиеся "Pretty Urls". Причём как я выяснил это происходит сразу после установки мода, даже до активации настроек.

После записей "Pretty Urls", стоит запись "ErrorDocument 404 /404.php" - до этого я её в разные места ".htaccess" вставлял - и в начале и в конце, но 404-я страница не работает. Стираю записи "Pretty Urls" - сразу опять работает.
👍 Форум на движке SMF - Art Cafe ~ 👍 Блог Позитивных Новостей - https://www.joynews.ru ~ 👍 Качественный хостинг и домены по хорошим ценам - "Hostland"

Yarik

Цитата: artvolt от 16 мая 2023, 17:29:33После записей "Pretty Urls", стоит запись "ErrorDocument 404 /404.php" - до этого я её в разные места ".htaccess" вставлял - и в начале и в конце, но 404-я страница не работает. Стираю записи "Pretty Urls" - сразу опять работает.
https://www.simplemachines.ru/index.php?msg=180698

artvolt

#6
It Works, большое спасибо! Я уже экспериментировал с "Pretty Urls", это я помнил. Потом отключал, сейчас снова решил для разделов сделать ЧПУ. Но напрочь забыл что прошлый раз была такая проблема с отображением 404-х страниц, и что это уже обсуждалось на форуме. Вообще вылетело из памяти. И главное ведь поиском по форуму пользовался сейчас, а на эти старые посты не набрёл. Теперь всё заработало как надо!
👍 Форум на движке SMF - Art Cafe ~ 👍 Блог Позитивных Новостей - https://www.joynews.ru ~ 👍 Качественный хостинг и домены по хорошим ценам - "Hostland"