在没有 PHP 扩展名的 CSS 文件中包含 PHP
Include PHP inside CSS file without PHP extension
我知道我可以将文件命名为 main.css.php
,然后在文件中设置 headers,如下所示:
<?php header("Content-type: text/css; charset: UTF-8"); ?>
然后我可以动态设置我的样式,并且我可以正常工作。
但是,我想通过将文件名简单地设为 main.css
而不公开 PHP 扩展名来实现相同的效果。我怎样才能实现这一目标?服务器是 运行 Apache 2,位于 Ubuntu。
当前 HTML:<link href="main.css.php">
期望 HTML:<link href="main.css">
(仍包括 PHP)
你可以使用mod_rewrite。
在您的 css 目录中创建 .htaccess 文件并放入此代码:
RewriteEngine on
RewriteBase /your_css_dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ .php [L]
这仅适用于 apache2 和 php?那么一个想法是将 .css
解释为 .php
这可以通过编辑包含 php 扩展名的 .conf
或在配置文件中的某处找到这一行来完成:
AddType application/x-httpd-php .php
并编辑以显示
AddType application/x-httpd-php .php .css .phtml .etc .etc
我知道我可以将文件命名为 main.css.php
,然后在文件中设置 headers,如下所示:
<?php header("Content-type: text/css; charset: UTF-8"); ?>
然后我可以动态设置我的样式,并且我可以正常工作。
但是,我想通过将文件名简单地设为 main.css
而不公开 PHP 扩展名来实现相同的效果。我怎样才能实现这一目标?服务器是 运行 Apache 2,位于 Ubuntu。
当前 HTML:<link href="main.css.php">
期望 HTML:<link href="main.css">
(仍包括 PHP)
你可以使用mod_rewrite。 在您的 css 目录中创建 .htaccess 文件并放入此代码:
RewriteEngine on
RewriteBase /your_css_dir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ .php [L]
这仅适用于 apache2 和 php?那么一个想法是将 .css
解释为 .php
这可以通过编辑包含 php 扩展名的 .conf
或在配置文件中的某处找到这一行来完成:
AddType application/x-httpd-php .php
并编辑以显示
AddType application/x-httpd-php .php .css .phtml .etc .etc