×

Устранение неполадок: ошибка поиска -37

 
При использовании расширенного поиска в HTML-файлах, экспортированных из Dr.Explain, вы можете столкнуться с сообщениями об ошибке с кодом -37 вместо результатов поиска.
 
Ошибка -37 означает, что вкладке поиска не удается загрузить файлы поискового индекса. Такое обычно случается, когда веб-сервер настроен некорректно или файлы отсутствуют на сервере.
 

Наиболее вероятные причины

 
  • Отсутствующие файлы: папка de_search не была загружена. Повторно экспортируйте ваш проект в HTML и загрузите все файлы и подпапки на веб-сервер.
  • Неправильные права доступа: веб-сервер не может прочитать файлы. Исправьте права доступа к файлам на сервере.
  • Конфигурация сервера: веб-сервер не настроен для скачивания JavaScript-файлов. Обновите конфигурацию вашего сервера.
  • Проблемы сети: брандмауэр блокирует доступ. Проверьте настройки сети и брандмауэра.
 

Шаг 1: Попробуйте открыть индексный файл напрямую

 
  • Откройте вашу документацию в веб-браузере.
  • Нажмите на любой раздел в дереве разделов.
  • В адресной строке браузера измените URL, удалив имя файла в конце и добавив /de_search/descriptor_id.js, например:
    измените с: http://ваш-сайт.com/docs/file.htm
    измените на: http://ваш-сайт.com/docs/de_search/descriptor_id.js
  • Нажмите Enter.
 
Что вы должны увидеть: страницу с JavaScript-кодом, который начинается с этого текста:
 
DR_EXPLAIN = DR_EXPLAIN || {};
 
Если вы видите сообщение об ошибке 404 "файл не найден": файл отсутствует на сервере или веб-сервер не может найти его. Перейдите к Шагу 3, чтобы проверить наличие файлов на сервере.
 
Если вы видите JavaScript-код: файл существует, но, возможно, есть какая-то другая проблема. Перейдите к Шагу 2.
 

Шаг 2: Проверьте консоль браузера

 
  • Нажмите F12 либо Ctrl+Shift+I (Windows/Linux) или Cmd+Option+I (Mac), чтобы открыть инструменты разработчика. Вы также можете открыть их через меню (ищите пункты "инструменты", "инструменты веб-разработчика", "web developer tools" или похожие).
  • Перейдите на вкладку Console.
  • Обновите страницу.
  • На странице перейдите на вкладку Поиск, введите текст в поле поиска и нажмите кнопку Поиск.
  • Ищите сообщения об ошибках красным цветом в консоли.
 

Распространенные ошибки, которые вы можете увидеть:

 
  • Ошибки 404: файл не найден. Перейдите к Шагу 3.
  • Ошибки CORS: веб-сервер блокирует междоменные запросы. Это требует правок в конфигурации сервера. Обратитесь к администратору вашего сервера.
  • Ошибки MIME-типа: файл скачивается с неправильным типом. Перейдите к Шагу 4.
 

Шаг 3: Проверьте, существуют ли файлы на сервере

 
Этот шаг требует доступа к вашему серверу через SSH или подобное терминальное соединение.
 
  • Подключитесь к вашему серверу с помощью SSH.
  • Выполните эту команду (скорректируйте путь, если ваши файлы находятся в другом месте):
 
ls -la /var/www/html/de_search/descriptor*.js
 
Что вы должны увидеть: файлы с именами descriptor_id.js и descriptor.js с правами доступа вроде -rwxr-xr-x. Наличие среди последних трех символов символа r означает, что файлы доступны для чтения.
 
Если вы не видите эти файлы: файлы были загружены неправильно. Повторно экспортируйте ваш проект Dr.Explain в HTML и загрузите все файлы и папки на ваш веб-сервер. Затем вернитесь к Шагу 1 и протестируйте снова.
 
Если вы видите файлы, но у них нет r в правах доступа: веб-сервер не может их прочитать. Обратитесь к администратору вашего сервера, чтобы исправить права доступа к файлам.
 

Шаг 4: Проверьте конфигурацию веб-сервера

 
Этот шаг требует доступа к файлам конфигурации вашего сервера.
 

Для серверов nginx:

 
Проверьте, что ваша конфигурация nginx включает этот раздел:
 
location ~ \.js$ {
    default_type application/javascript;
    add_header Access-Control-Allow-Origin *;
}
 

Для серверов Apache:

 
Проверьте, что ваша конфигурация Apache позволяет правильно скачивать JavaScript-файлы.
 
Если конфигурация отсутствует или неверна: добавьте соответствующую конфигурацию и перезапустите ваш веб-сервер. Затем вернитесь к Шагу 1 и протестируйте снова.
Справочная система создана в Dr.Explain