Вопрос или проблема
В установке 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.
Причины проблемы
-
Приоритет файлов индексации: В вашем текущем конфигурационном файле Apache
httpd.conf
или соответствующем файле виртуального хоста приоритетным файлом для индексации может быть установленindex.php
. Это значит, что при наличии файлаindex.php
он будет загружен вместоindex.html
. -
Структура директорий: Вы отметили, что скопировали содержимое OrangeScrum непосредственно в
/var/www/html
, а не в/var/www/html/orangescrum
. Это означает, что ваше приложение становится доступным непосредственно в корневом каталоге вашего веб-сервера.
Решения
Чтобы разобраться с этой проблемой и настроить отображение файлов так, как вы хотите, рекомендуем выполнить следующие шаги:
-
Корректировка директивы DirectoryIndex:
Убедитесь, что директиваDirectoryIndex
в вашем конфигурационном файле виртуального хоста настроена следующим образом:DirectoryIndex index.html index.htm index.php index.phtml
Это обеспечит приоритетное отображение
index.html
перед всеми остальными файлами, если таковые имеются в каталоге. -
Структура директорий:
Рассмотрите возможность изменения структуры директорий, чтобы приложения загружались на/var/www/html/orangescrum
. Это позволит отделить файлindex.html
вашего Apache от индекса вашего приложения.
SEO-оптимизация и улучшение читабельности
Помимо исправления конфигурации, для повышения поиска и удобства использования вашего ресурса, убедитесь, что вы:
- Используете актуальные мета-теги и заголовки для каждой страницы вашего веб-сайта.
- Структурируете контент страниц для того, чтобы он был оптимальным и лёгким для индексации поисковыми системами.
- Применяете удобные для пользователя URL и структуры.
Вышеописанные шаги должны помочь вам наладить правильное отображение страниц и файлов на вашем сервере. Убедитесь, что после внесения изменений вы перезагрузили сервер Apache, чтобы все изменения вступили в силу (например, через команду sudo systemctl restart httpd
).
Эти рекомендации должны решить вашу главную проблему и настроить веб-сервер так, чтобы он работал должным образом.