Apache httpd не загружает index.html при установке веб-приложения.

Вопрос или проблема

В установке CentOS 7 я установил OrangeScrum (это стандартное PHP-приложение, скопированное в /var/www/html). Когда я ввожу IP-адрес сервера, я вижу тестовую страницу Apache, и если у меня есть страница index.html, она будет отображаться. А когда я ввожу server-ip/orangescrum, например, я вижу веб-приложение. Все это работает нормально.

Перейдя на сервер с Scientific Linux 7, я сделал то же самое, но когда я установил приложение на Apache и ввожу только IP-адрес сервера, я получаю само приложение, а не статус Apache или index.html, если они есть. Ничего не было сделано с httpd.conf, кроме добавления определения виртуального хоста, как здесь

Что я упустил, чтобы главная индексная страница или тестовые страницы Apache работали?

Пожалуйста, удалите существующий файл index.html из каталога /var/www/html или переименуйте его, например, в index.html.back. Тогда вы увидите ваше приложение, вводя IP-адрес.

Ваш сервер индексирует файл .html перед файлом .php. Подкаталоги приложения не содержат файлов .html. Поэтому все работает нормально.

Если это решит вашу проблему, обновите конфигурацию виртуального хоста следующим образом

DirectoryIndex index.php index.phtml index.html index.htm

В Scientific Linux 7 вы скопировали содержимое orangescrum в /var/www/html, вместо того чтобы скопировать весь каталог, чтобы это выглядело так: /var/www/html/orangescrum

.

Ответ или решение

Ваша проблема заключается в том, что конфигурация вашего веб-сервера Apache настроена таким образом, что при запросе корневого адреса сервера (например, только IP-адреса) отображается ваше веб-приложение OrangeScrum вместо стандартной страницы Apache или файла index.html. Рассмотрим возможные причины и решения этой проблемы в контексте вашей установки на Scientific Linux 7.

Причины проблемы

  1. Приоритет файлов индексации: В вашем текущем конфигурационном файле Apache httpd.conf или соответствующем файле виртуального хоста приоритетным файлом для индексации может быть установлен index.php. Это значит, что при наличии файла index.php он будет загружен вместо index.html.

  2. Структура директорий: Вы отметили, что скопировали содержимое OrangeScrum непосредственно в /var/www/html, а не в /var/www/html/orangescrum. Это означает, что ваше приложение становится доступным непосредственно в корневом каталоге вашего веб-сервера.

Решения

Чтобы разобраться с этой проблемой и настроить отображение файлов так, как вы хотите, рекомендуем выполнить следующие шаги:

  1. Корректировка директивы DirectoryIndex:
    Убедитесь, что директива DirectoryIndex в вашем конфигурационном файле виртуального хоста настроена следующим образом:

    DirectoryIndex index.html index.htm index.php index.phtml

    Это обеспечит приоритетное отображение index.html перед всеми остальными файлами, если таковые имеются в каталоге.

  2. Структура директорий:
    Рассмотрите возможность изменения структуры директорий, чтобы приложения загружались на /var/www/html/orangescrum. Это позволит отделить файл index.html вашего Apache от индекса вашего приложения.

SEO-оптимизация и улучшение читабельности

Помимо исправления конфигурации, для повышения поиска и удобства использования вашего ресурса, убедитесь, что вы:

  • Используете актуальные мета-теги и заголовки для каждой страницы вашего веб-сайта.
  • Структурируете контент страниц для того, чтобы он был оптимальным и лёгким для индексации поисковыми системами.
  • Применяете удобные для пользователя URL и структуры.

Вышеописанные шаги должны помочь вам наладить правильное отображение страниц и файлов на вашем сервере. Убедитесь, что после внесения изменений вы перезагрузили сервер Apache, чтобы все изменения вступили в силу (например, через команду sudo systemctl restart httpd).

Эти рекомендации должны решить вашу главную проблему и настроить веб-сервер так, чтобы он работал должным образом.

Оцените материал
Добавить комментарий

Капча загружается...