ArtDenis
@ArtDenis
Разработчик сайтов и мобильных приложений

UMI CMS выдает неправильный ответ сервера?

Здравствуйте, попросили на сайте проверить страницу 404.

Введя после домена чушь: comfortauto.kz/jhfuyj/. Получил пустую страницу, хорошо было бы конечно сообщить человеку что он попал на несуществующую, но не в этом суть. Для поисковика главное чтобы был ответ 404 - проверяю здесь. У себя получаю:
148d4423a392438ba3ec895e6cc406d2.jpg
HTTP/1.1 404 Not Found
Server: nginx
Date: Sun, 19 Apr 2015 15:27:30 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 11499
Connection: keep-alive
X-Powered-By: PHP/5.4.38
Set-Cookie: PHPSESSID=lg76tk4n6m9mn9nn0hs7018rs7; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: max-age=3600, private, must-revalidate
Pragma: no-cache
Status: 404 Not Found
X-Generated-By: UMI.CMS
X-CMS-Version: 2.9.6
Set-Cookie: stat_id=lg76tk4n6m9mn9nn0hs7018rs7; expires=Sat, 19-Apr-2025 15:27:30 GMT; path=/


А вот у заказчика, тоже самое выдает:
50be7052e2f94597be6a1f2a9b104a08.png

Собственно вопрос, почему это так произошло? И как на этом движке вообще устроен принцип ответа сервера? Как сообщить пользователю о несуществующей странице, где это меняется?

Ссылка на сайт
  • Вопрос задан
  • 1674 просмотра
Решения вопроса 1
@ilyarsoftware
Посмотрите внимательно (убрал лишние заголовки):

$curl -I http://comfortauto.kz/jhfuyj/
HTTP/1.1 404 Not Found
Status: 404 Not Found

$ curl -I http://comfortauto.kz/jhfuyj
HTTP/1.1 301 Moved Permanently
Status: 301 Moved Permanently
Location: /jhfuyj/

Первая ссылка показывает правильный ответ сервера на несуществующую страницу, вторая ссылка преадресация потому что ссылка не на "папку" т.е. не заканчивается символом "/", за это поведение отвечает параметр folder-redirect = "1" секция [seo] в файле конфигурации config.ini, подробнее тут.

Как на этом движке вообще устроен принцип ответа сервера... ответ зависит от того что надо сделать, часто требуемое поведение ответа сервера решает секция [seo] в файле конфигурации config.ini.

За оформление страницы 404 отвечает шаблон, меняется это в зависимости от того какой в вашем проекте используется шаблонизатор:
  • TPL: content/not_found/default.tpl
    <?php
    
    $FORMS = Array();
    
    $FORMS['block'] = <<<HTML
    <p>Такой страницы на сайте не существует.</p> 
    HTML;

  • XSLT:
    <xsl:template match="udata[@module = 'content'][@method = 'sitemap']">
      <p>Такой страницы на сайте не существует.</p>
    </xsl:template>



Подробнее тут и тут.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы