我需要重写一个目录中的所有文件,并且基本上使它们的扩展名为css而不是php。我想在该特定目录中使用.htaccess文件。
这样做的正确方法是什么,是否需要设置任何特殊的PHP头文件以确保文件正确读取为.css文件?
答案 0 :(得分:6)
我认为您更希望将*.css
的请求内部重写为*.php
。所以试试这个:
RewriteEngine on
RewriteRule ^(foo/.*)\.css$ $1.php [L]
虽然foo
是特定目录。
现在,您应该在PHP脚本的开头使用以下内容将输出显式声明为text/css
:
<?php
header('Content-Type: text/css;charset=<your charset>');
将<your charset>
替换为您正在使用的任何字符集/编码(可能是ISO-8859-1
或UTF-8
)。
答案 1 :(得分:0)
如果您只是在您的网站中使用它们,那么它们不需要css扩展名。他们只需要在渲染(我假设)生成的css之前输出标题Content-Type:text / css。类似的东西适用于其他文件类型,如果你有一个生成图像的php脚本,你可以用同样的方式做,除了你将内容类型更改为image / png或jpeg或其他任何内容。
但是,如果您希望外部人员将这些生成的css文件视为具有css扩展名的文件,那么请将我所说的与Gumbo所说的混合起来。