Устранение неполадок: ошибка поиска -37
При использовании расширенного поиска в HTML-файлах, экспортированных из Dr.Explain, вы можете столкнуться с сообщениями об ошибке с кодом -37 вместо результатов поиска.
Ошибка -37 означает, что вкладке поиска не удается загрузить файлы поискового индекса. Такое обычно случается, когда веб-сервер настроен некорректно или файлы отсутствуют на сервере.
Наиболее вероятные причины
-
Отсутствующие файлы: папка de_search не была загружена. Повторно экспортируйте ваш проект в HTML и загрузите все файлы и подпапки на веб-сервер.
-
Неправильные права доступа: веб-сервер не может прочитать файлы. Исправьте права доступа к файлам на сервере.
-
Конфигурация сервера: веб-сервер не настроен для скачивания JavaScript-файлов. Обновите конфигурацию вашего сервера.
-
Проблемы сети: брандмауэр блокирует доступ. Проверьте настройки сети и брандмауэра.
-
Откройте вашу документацию в веб-браузере.
-
Нажмите на любой раздел в дереве разделов.
-
В адресной строке браузера измените 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.
-
Нажмите F12 либо Ctrl+Shift+I (Windows/Linux) или Cmd+Option+I (Mac), чтобы открыть инструменты разработчика. Вы также можете открыть их через меню (ищите пункты "инструменты", "инструменты веб-разработчика", "web developer tools" или похожие).
-
Перейдите на вкладку Console.
-
Обновите страницу.
-
На странице перейдите на вкладку Поиск, введите текст в поле поиска и нажмите кнопку Поиск.
-
Ищите сообщения об ошибках красным цветом в консоли.
Распространенные ошибки, которые вы можете увидеть:
-
Ошибки 404: файл не найден. Перейдите к Шагу 3.
-
Ошибки CORS: веб-сервер блокирует междоменные запросы. Это требует правок в конфигурации сервера. Обратитесь к администратору вашего сервера.
-
Ошибки MIME-типа: файл скачивается с неправильным типом. Перейдите к Шагу 4.
Этот шаг требует доступа к вашему серверу через 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 в правах доступа: веб-сервер не может их прочитать. Обратитесь к администратору вашего сервера, чтобы исправить права доступа к файлам.
Этот шаг требует доступа к файлам конфигурации вашего сервера.
Для серверов nginx:
Проверьте, что ваша конфигурация nginx включает этот раздел:
location ~ \.js$ {
default_type application/javascript;
add_header Access-Control-Allow-Origin *;
}
Для серверов Apache:
Проверьте, что ваша конфигурация Apache позволяет правильно скачивать JavaScript-файлы.
Если конфигурация отсутствует или неверна: добавьте соответствующую конфигурацию и перезапустите ваш веб-сервер. Затем вернитесь к Шагу 1 и протестируйте снова.