Macik |
|
---|---|
#34277 Oughtem: О том, что несуществующая ссылка содержащая русские буквы обрабатывается корректно и движок отдает 404 ошибку. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Moool13 |
|
---|---|
Еще заметил - http://www.cotonti.com/datas/users/200_1645.png Может, там тоже ответ 404 сделать? |
Macik |
|
---|---|
#34281 Moool13:
Тут надо от разработчиков комментарий получить, на предмет, как и когда используется тот или иной вызов сообщений. На сколько я понимаю, есть 4 основных сценария использования сообщений об ошибке:
Еще вопрос к разработчикам: при попытке обращения к ресурсам недоступным пользователю (например в админку без пароля) мы получаем сообщение 930 и редирект на страницу авторизации (или главную). Со стороны пользователя все ОК, однако, запрашиваемая сраница отдается с кодом «302 Found», а последующая страница с сообщением 930 отдается по коду «200», хотя по логике должен отдаваться код «401 Authorization Required» (или как указано в коде cot_block($allowed) «403 Forbidden»). Вот иллюстрация.
Непонятки кроются в functions.php,см. функцию cot_redirect($url): Как решение этой проблемы - 930 сообщение должно отдавать в этом случае код 401 (или 403).
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Trustmaster |
|
---|---|
Редиректы и корректные HTTP-коды не совместимы в принципе. Хотим корректных кодов, надо убирать редиректы. А если message.php будет после редиректа выдавать, скажем, 404 или 403, то браузеры и поисковики расценивают это как редирект на несуществующую страницу, то есть как ошибку логики сайта. May the Source be with you!
|
Moool13 |
|
---|---|
Да, с messahe.php много неясностей.. Как по мне, лучше разбить на разные ф-ии пункты (1234), приведенные Macik'ом. Добавлено 24 секунды спустя:
Я за уборку редиректов. Прпавильный ответ важней, имхо. |
Macik |
|
---|---|
#34286 Trustmaster: А на сколько реально (трудоёмко) избавиться от редиектов (я про те которые ведут на message.php) через header('Location') ? Может тогда (на примере с отсутствием доступа) сделать вывод страницы «заглушки» (как в cot_die_message) с правильным кодом, а с него (при необходимости) редирект через мета тег на «главную». Еще вопрос: какими факторами был обусловлен минималистичный дизайн «страниц заглушек»? Т.е. можно ли к ним (в теории) прикрутить стандартный (шаблонный) дизайн? https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Trustmaster |
|
---|---|
Избавиться от редиректов на message в функциях типа cot_block() можно. Не скажу, что можно избавиться от них совсем. Заглушки cot_die_message() поддерживают шаблоны: error.tpl и error.код_ошибки.tpl. Но там 1 шаблон на всю страницу. header/footer не поддерживаются, потому что их включение потянет за собой выполнение множества кода и плагинов, что неприемлемо, если произошла серьёзная ошибка. May the Source be with you!
|
Macik |
|
---|---|
Понял. Спасибо за разъяснения. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Moool13 |
|
---|---|
Но может все-таки поменять редирект на код ошибки? И какой адрес у заглушки? |
Macik |
|
---|---|
#34297 Moool13: Прямого адреса у заглушки нет. Ее можно вызвать только из кода через cot_die_message(); https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Roffun |
|
---|---|
Я проверял ответ сервера по этому сервису, 404 работает корректно, сервер получает ответ: HTTP/1.1 404 Not Found А оформить 404 страницу - не проблема. Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
This post was edited by Roffun (2016-11-11 14:44, 8 years ago) |