使用PHP文件作为CSS扩展的CSS文件

时间:2015-11-29 05:51:07

标签: php css .htaccess mod-rewrite

我一直在阅读使用PHP文件作为CSS文件。 我理解如何做到这一点,但如果可能的话,我想更进一步。

假设我有一个名为main-styles.php的文件,其中包含我的网站主样式表。

如果我想链接到此文件,我只需使用<link rel="stylesheet href="http://example.com/css/main-styles.php">

很简单,但我想要做的不是使用.php扩展名,而是希望使用.css扩展名,但文件仍为.php

这可以通过mod_rewrite或其他方式实现吗?

我在想RewriteRule ^(.+)\main-styles.php$ $1main-styles.css

这就足够了吗?

如果我没弄错,那么这条规则就不行了。我不是重写规则的专家所以请耐心等待。

修改

我在.htaccess文件中尝试了以下内容:

RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !\.(?:css|png|jpe?g|gif)$ [NC,OR] RewriteRule universal.css universal.php [L]

解决了我自己的答案。

2 个答案:

答案 0 :(得分:1)

您可以使用apach模式重写的H或T标志强制所有带有php扩展名的文件由css处理程序解析:

在htaccess中尝试以下内容:

RewriteEngine On
RewriteRule ^main-style\.php$ - [H=text/css]

RewriteEngine On
RewriteRule ^main-style\.php$ - [T=text/css]

上述规则将更改main-style.php的mime类型。

答案 1 :(得分:0)

所以我终于明白了。事实证明我必须列出我的目录。

在我的.htaccess中使用以下内容:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(?:css|png|jpe?g|gif)$ [NC,OR]
RewriteRule css/universal.css css/universal.php [L]

我能够将样式表保存为php文件,但是使用css扩展名加载它。

<link rel="stylesheet" href="http://example.com/css/universal.css">

处理好像是

<link rel="stylesheet" href="http://example.com/css/universal.php">