Перейти к содержанию
IPS Invision Community 🇷🇺

Страница ошибки на сайте


Перейти к решению Решено DrTauren,

Рекомендуемые сообщения

Добрый вечер всем.
Столкнулся с очередной проблемой. Помню, раньше при попытке зайти в категорию, на просмотр которой у тебя не было доступа, вылезала обычная страница сайта с кодом ошибки и надписью (которую можно установить самому при настройке категории). Сейчас у меня этого нет, а хотелось бы вернуть. Подозревал что дело в файле .htaccess - указание там страницы 404 и т.д., но содержание файла 404 по указанному пути тоже отличается от того, что есть на экране (скрин ниже). 
В общем, хотелось бы вернуть нормальные сообщения форума об отсутствии прав просмотра и т.д.

Скрытый текст

image.png.ae632de538c73c64838db12480a01cf5.png


 

Ссылка на комментарий
7 часов назад, DrTauren сказал:

в файле .htaccess - указание там страницы 404 и т.д.

Собственная страница прописывается в constants.php. Для того чтобы создать собственную страницу следуйте инструкции ниже.

Вы можете создать различные HTML страницы, которые будут использованы в перечисленных случаях, и указать Invision Community использовать ваши файлы вместо стандартных. Это гарантирует, что, если стандартные страницы могут быть заменены при обновлении, ваши страницы в любых случаях сохранятся.

  1. Создайте собственную HTML страницу и загрузите её в корневую директорию вашего сообщества.
  2. Если у вас ещё нет файла constants.php в корневой директории вашего сообщества, создайте его со следующим содержимым:
define( 'ERROR_PAGE', 'страница_ошибки.html' );

верните стандартное содержимое файла .htaccess

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpeg|jpg|gif|png|ico|map)(\?|$) /404error.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

  • Поддержать 1
Ссылка на комментарий

@Sipsb спасибо. А можно ли страницу с 404 ошибкой выдавать везде, кроме страницы с сообщением об отсутствии доступа к категории\теме? На сколько я знаю, при указанной вами установке, новая 404 страница будет появляться при любой ошибки. Будь то реальная 404 или отсутствие доступа

Ссылка на комментарий
15 минут назад, DrTauren сказал:

А можно ли страницу с 404 ошибкой выдавать везде, кроме страницы с сообщением об отсутствии доступа к категории\теме?

Если потребуется, то Вы можете настроить для каждого форума своё отображение ошибки.

Скрытый текст

2020-05-21_11-51-19.png

 

15 минут назад, DrTauren сказал:

новая 404 страница будет появляться при любой ошибки.

Нет, она будет появляться вместо штатной error.php.

Ссылка на комментарий

@Sipsb Сделал как вы подсказали, текст ошибки в настройках форума тоже указал. .htaccess и constants.php по вашему примеру, но ничего не изменилось.
Плюс, до сих пор непонятно как сделать определённую страницу ошибки для отдельных страниц форума.

Ссылка на комментарий

@DrTauren Саня, как я помню (могу ошибаться) после изменений нужно обновить кэш, делается это в админ панели:

Скрытый текст

Перейти в Тех. поддержку

image.png.3eabcb7561dbf758edc03a3dea5b8cd5.png

Установить горошек на "Что-то работает неправильно" и нажать "Продолжить"

image.png.bb0f8b8e95916f67bfe2256294ba966c.png 

 

Ссылка на комментарий

У меня есть подозрение, что 404 страницу без плагина не сделать

Например если набрать адрес https://ipsinfo.ru/404 в этом случае ядро движка  выдаст стандартную форумную страницу с текстом "Запрашиваемая страница не существует". Причем код ответа у нее будет 404.

На error.php перекидывает если не смогло загрузиться ядро движка. Например если база данных недоступна или какой-то плагин имеет синтаксическую ошибку в коде.

Ну а если у вас отвалился php модуль, то страницу ошибки генерирует уже вебсервер, там даже до загрузки ядра движка дело не доходит. На этот случай надо и в .htaccess прописать статичную страницу.

А вот это

Скрытый текст

1507216881_Screenshot_2020-05-22.png.845391644a0c8f39485074513fe01d71.png

можно изменить только с помощью плагина.

Возможно есть документированные возможности, но я них нигде не нашел.

 

  • Нравится 1
Ссылка на комментарий
11 минут назад, agamer сказал:

А вот это

Так вот мне и надо, чтобы именно это выходило. А его нет, чисто то что скидывал в начале топика. Как вернуть такие стандартные страницы-то?

Ссылка на комментарий

@DrTauren 

эту страницу генерирует сам движок. А то что у тебя на скрине похоже на ошибки работы самого движка или плагинов. Апач вряд ли выдаст 404 станицу со ссылкой на форум. Да и не выдаст апач свою 404 если index.php отработал без 50х ошибок.

Я даже не знаю как сымитировать подобное.

Ссылка на комментарий

Как вариант

В самом начале файлов вставить такой код:

index.php

<?php file_put_contents ( 'test.txt' , 'index.php'); ?>

error.php

<?php file_put_contents ( 'test.txt' , 'error.php'); ?>

404error.php

<?php file_put_contents ( 'test.txt' , '404error.php'); ?>

В браузере набрать несуществующий адрес, после чего в корне сайта будет создан файл test.txt, а в его содержимом результат который укажет на файл который сработал.

Echo не рекомендую, скорее всего ни в одном файле не сработает.

Что это даст?

  • Если отработает index.php значит ошибка в шаблоне сайта.
  • Если остальные, то в ядре движка что-то сломалось.
  • Если test.txt не появится, значит index.php вообще не запускается, а вебсервер сразу кидает на свою страницу.

 

  • Нравится 2
Ссылка на комментарий
  • 2 недели спустя...

@agamer Что интересно, если ввести несуществующий  адрес типа ...ru/несущСтраница, то вылезает нормальная оформленная 404 страница. Но если перейти в раздел, к которому у тебя нет доступа - то вылезает то что в первом сообщении... Хотелось бы просто вывести норм страницу об отсутствии доступа и всё.

По поводу вашего метода - сработало, выдало index.php, то есть ошибка в шаблоне. Где искать не подскажете?

Ссылка на комментарий

Кстати при просмотре ссылки, которая оформлена блоком с превью, отображается всё ок, мол не имеете доступа. При этом когда переходишь, вылезает код непонятно откуда берущийся

Ссылка на комментарий

@DrTauren Ваш скрин из первого поста говорит о том, что не загружаются CSS и картинки

Причин может быть 100500.

Самые распространенные это

  • у вас есть плагин меняющий страницы ошибок и он работает не правильно
  • в самом шаблоне что-то сделано неправильно.

Какого либо универсального решения проблемы не существует. Надо ковырять код.

Чтобы исключить шаблон, надо посмотреть как эта страница выглядит на других стилях. И на дефолтном, если вы его не ковыряли.

  • Нравится 1
Ссылка на комментарий
  • 2 недели спустя...

@agamer стандартный шаблон не менял, попробовал. Так же вылезает страница ошибки, но без CSS оформления (так же как и на основном шаблоне). Сам код страницы обращается везде по верным адресам. Например картинка не отображается, но если ввести адрес напрямую в строке браузера, то всё загружается. Вообще дичь какая-то

Ссылка на комментарий
  • Решение

@agamer @ZizionarD @Sipsb Всем большое спасибо, проблему нашёл. Создал давным давно в приложении Pages страницу ошибки и выводил, соответственно, её при ошибках. Прикол в том, что путь до css и всего прочего был не полный а по типу "/404/index.php", плюс там где он был полный, было http. Видать после перехода на https всё пошло по одному месту. Сейчас всё исправил, но заметил другой странный косяк с приложением страниц, но о нём в другой теме... :dontknow:

Ссылка на комментарий

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...

Важная информация

Мы используем файлы cookie и другие средства сохранения предпочтений и анализа действий посетителей сайта. Нажмите «Принять», если даете согласие на это. Политика конфиденциальности - Условия использования

Вверх
Вверх