Вопрос или проблема
Я пытаюсь запустить версию сайта на localhost
, и таблица стилей сайта необъяснимо недоступна для браузера.
Некоторые основы:
- ОС: Windows
- Браузер: Chrome (также пробовал Edge)
- Среда редактирования: Eclipse
- XAMPP: v3.2.4
Вот как я подключаю CSS файл.
<link href="https://superuser.com/style.css" rel="stylesheet" type="text/css" />
Я обновляю некоторый PHP на сайте, который достаточно старый, сайт использовал PHP 5.5.9, и мы хотим обновить его до последней версии PHP (насколько я помню, это 7.2.3). При этом я хочу изменить код сайта локально, прежде чем изменения будут применены на нашем сервере. Сервер основан на Linux, так что это одно фундаментальное различие по сравнению с моей локальной средой.
Проблема, с которой я столкнулся, заключается в том, что CSS-файл возвращает либо ошибку 404, либо ошибку 403, если в браузере Chrome ввести https://localhost/style.css
. Кажется, это происходит, если путь к CSS-файлу неверный или права доступа к файлу не позволяют чтение. Я пробовал преобразовать путь CSS в абсолютный путь, проверял права доступа, и система имеет все необходимые права для чтения.
Я думал, что проблема могла быть в актуальном пути к CSS, но он находится в том же месте, что и все PHP файлы, которые загружаются без проблем, независимо от использования относительного корня или корня документа. Обратите внимание, что корень документа теперь является вложенной папкой с HTML-документами, которая содержит все файлы сайта для страницы.
И обратите внимание, что я не изменял этот CSS файл. Он такой же, как и на рабочем сайте.
Строка RewriteRule ^style.css$ /style-css.php [L]
была удалена из .htaccess
.
Я все еще смутно понимаю, для чего была эта строка, файла style-css.php
в корне проекта не было. Это позволило отобразить CSS.
Спасибо всем.
Ответ или решение
Для решения проблемы с недоступностью CSS-файлов через XAMPP на локальном сервере, необходимо провести всесторонний анализ конфигурации и устранить основные причины данной неисправности. Давайте рассмотрим возможные шаги для диагностики и решения проблемы.
Предпосылки
- Операционная система: Windows
- Браузеры: Chrome и Edge
- Среда разработки: Eclipse
- Версия XAMPP: 3.2.4
- Сайт использует: PHP, с обновлением с версии 5.5.9 до 7.2.3
Проблема
При попытке доступа к CSS-файлу через URL типа https://localhost/style.css
браузер возвращает ошибку 404 или 403. Это может указывать на проблемы либо с путём к файлу, либо с его правами доступа.
Диагностика и Решение
-
Проверка путей
- Убедитесь, что путь к файлу CSS указан правильно. Убедитесь, что файл находится в директории, откуда PHP-файлы загружаются корректно. Из вашего описания следует, что документы размещены в поддиректории, которая выступает в качестве корня для документов HTML. Убедитесь в правильности структуры директорий и путей.
-
Права доступа
- Откройте проводник Windows и перейдите в папку, где находится
style.css
. Проверьте права доступа к файлу, правой кнопкой мыши – Свойства. Убедитесь, что текущий пользователь и служба веб-сервера (например, Apache) имеют право чтения файла.
- Откройте проводник Windows и перейдите в папку, где находится
-
Конфигурация .htaccess
- Вы упоминаете, что из файла
.htaccess
была удалена строкаRewriteRule ^style.css$ /style-css.php [L]
. Данное правило могло вызывать перенаправление запросов к стилям на несуществующий файлstyle-css.php
, что и приводило к ошибкам. Убедитесь, что подобное переписывание отсутствует, если оно ненужно.
- Вы упоминаете, что из файла
-
Браузерный кэш
- После изменения настроек и файлов, очистите кэш браузеров Chrome и Edge. Возможно, что устаревший кэш сообщает о несуществующем или недоступном файле.
-
Проверка конфигурации Apache
- Убедитесь, что в конфигурационных файлах Apache не содержатся директории или ограничения, препятствующие доступу к файлам CSS. Проверите, что файл не попадает под запретные правила.
-
Отладка сетевого трафика
- Советуем использовать средства разработчика в браузере для просмотра сетевых запросов и подробной диагностики ошибок. Это даст больше информации о проблемах доступа, таких как перенаправления, устаревшие URL и т.д.
Заключение
Рекомендую следовать вышеуказанным шагам для минимизации причин неисправности и приведения проекта в работоспособное состояние на локальном сервере. Если ошибки сохранятся, дополнительной полезной стратегией может стать использование логов ошибок Apache для получения более детальной информации.