在没有PHP扩展名的CSS文件中包含PHP


Include PHP inside CSS file without PHP extension

我知道我可以将文件命名为main.css.php,然后在文件中设置标题,如下所示:

<?php header("Content-type: text/css; charset: UTF-8"); ?>

然后我可以动态地设置我的风格,这样我就可以很好地工作了。

然而,我希望在不公开PHP扩展名的情况下,将文件名简单地命名为main.css,从而达到同样的效果。我该如何实现这一目标?服务器在Ubuntu上运行Apache2。

当前HTML:<link href="main.css.php">
所需HTML:<link href="main.css">(仍包括PHP)

这只是针对apache2和php的?然后,一个想法是将.css解释为.php,这可以通过编辑包括php扩展名的.conf来完成,或者在配置文件中的某个位置找到这一行:

AddType application/x-httpd-php .php

并编辑以显示

AddType application/x-httpd-php .php .css .phtml .etc .etc

您可以使用mod_rewrite。在css目录中创建.htaccess文件,并放入以下代码:

RewriteEngine on
RewriteBase /your_css_dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php [L]