Страница 1 из 1

пустой CSS при вызове через PHP

Добавлено: 25 янв 2017, 14:45
KJlbIK
Есть некий сайт, где в одной папке лежат index.php и style.css . И есть функция генерирующая страницу. Проверка пути через __DIR__ показывает путь до файла но сам файл не грузится. В консоли ошибка "Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://cms2/style.css".". Этот же html код вынесенный в отдельный дкумент - работает. Предполагаю что проблема в настройке апатча.

сам код:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>'.$title.'</title>
<link rel="stylesheet" href="/style.css" type="text/css" />
</head>
<body>

<div class="wrapper">

<div class="menu">Меню</div>

<div class="content">Текст</div>
</div>
</body>
</html>

Re: пустой CSS при вызове через PHP

Добавлено: 25 янв 2017, 22:47
DelphinPRO
Черным по белому написано же - "Resource interpreted as Stylesheet but transferred with MIME type text/html".
Отдавайте правильный mime тип (text/css) и будет вам счастье.

Re: пустой CSS при вызове через PHP

Добавлено: 26 янв 2017, 06:57
KJlbIK
DelphinPRO писал(а):Черным по белому написано же - "Resource interpreted as Stylesheet but transferred with MIME type text/html".
Отдавайте правильный mime тип (text/css) и будет вам счастье.
Черным по белому написано - этот же код в простом html работает. В точности до символа.На том же сервере

Re: пустой CSS при вызове через PHP

Добавлено: 26 янв 2017, 08:01
KJlbIK
проблема была в .htaccess - не знаю какой хостинг был но там оп строчки не понадобились, для апача нужно добавить чтобы он не менял пути у файлов. получается чтото вроде

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule .* index.php [L]

Re: пустой CSS при вызове через PHP

Добавлено: 26 янв 2017, 09:02
DelphinPRO
Ну естественно он будет работать при прямом встраивании в html.
У вас настроен рерайт запросов, все запросы видимо направлялись на php файл, который отдавал файл с неправильным миме-типом. Я вам и сказал - посылайте заголовок с типом text/css.
Исправив правило рерайта, вы заставили апач самому отдавать стилевой файл (а не через php), и апач стал отдавать его с правильным типом.
Рекомендую немного почитать о том как в принципе работают сервера.