у меня есть .htaccess
который перенаправляет все запросы в файл скрипта (redirect.php
).
Файл сценария включает в себя страницу, называемую, скажем, index.html
, То же самое касается всех источников на странице (.jpg
, .css
, так далее).
Проблема в том, что CSS
файлы обслуживаются как HTML
,
Когда я проверяю заголовки ответа, он говорит Content Type : text/html
вместо text/css
,
Я пытался :
AddType text/css .css
в .htaccess
до или после RewriteRule
он уже содержит: все еще не работает.type="text/css"
в HTML <link>
тег: до сих пор не работаетКак я мог это исправить, чтобы CSS служил CSS
скорее, чем HTML
?
РЕДАКТИРОВАТЬ
Основа .htaccess
Я использую это:
AddType text/css .css
AddHandler application/x-httpd-php .css
<Files *.css>
Header set Content-type "text/css"</Files>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/redirect.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) redirect.php?q=$1 [L]
Нет ничего плохого в вашем .htaccess. я использовал этот сайт тестировать http://hostname/style.css
с этим .htaccess:
RewriteEngine On
RewriteRule ^(.*)$ redirect.php?q=$1 [NC,L]
Полученный URL был redirect.php?q=style.css
, это должен работать, предполагая, что ваш PHP-файл устанавливает соответствующие заголовки, используя <?php header('Content-Type: text/css');
Если проблема не устраняется, единственная идея, которая приходит на ум, — это то, что вашего CSS-файла действительно нет. Если вы пытаетесь включить http://mywebsite/style.css
, зайдите в терминал и curl http://mywebsite/style.css
просто чтобы убедиться, что это определенно не страница 404 Apache. Если это действительно является проблемой, то просто вы используете неправильный путь к файлу CSS.
Других решений пока нет …