Перейти к публикации

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


Перейти к решению Решение от 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:

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

Создайте аккаунт или войдите в него для комментирования

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

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

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

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

Войти

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

Войти сейчас
×
×
  • Создать...
Вверх
Вверх