我有.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]
答案 0 :(得分:0)
你的.htaccess没有明显的错误。我使用this site来测试http://hostname/style.css
.htaccess:
RewriteEngine On
RewriteRule ^(.*)$ redirect.php?q=$1 [NC,L]
结果网址为redirect.php?q=style.css
。假设您的PHP文件使用<?php header('Content-Type: text/css');
如果问题仍然存在,那么我想到的另一个想法是你的CSS文件确实不存在。如果您尝试包含http://mywebsite/style.css
,请转到终端和curl http://mywebsite/style.css
,只是为了确定它绝对不是Apache的404页面。如果这确实是问题,那么只是你使用了错误的CSS文件路径。