加载集中的HTML和CSS文件

时间:2014-07-10 11:00:04

标签: php html css .htaccess vps

我在一台服务器上构建网站,并希望在所有网站上使用一些集中的HTML和CSS文件,这样我就可以对影响多个网站的单个HTML或CSS进行更改。

集中文件位于我服务器上的/ home文件夹中(域文件夹上方)

示例文件夹结构:

/home
/home/templates
/home/templates/template1.html
/home/templates/css/style.css

示例域名(mydomain.com):

/home/mydomain/public_html/index.php

当我从mydomain文件夹中调用index.php中的template1.html文件时,它会加载html文件,但是因为template1.html引用css / style.css作为样式文件,它会尝试加载文件就好像是mydomain.com/css/style.css而不是/ home / templates文件夹。

我知道它正在做它应该做的事情,但有没有办法可以使用htaccess规则或其他东西将其重定向回/ home / templates文件夹?或者有没有办法从html文件中正确引用CSS文件的位置?

2 个答案:

答案 0 :(得分:1)

DOCUMENT_ROOT/.htaccess文件中包含此代码:

RewriteEngine On

RewriteRule ^((?:css|js|images)/.+)$ /home/templates/$1 [L,NC]

答案 1 :(得分:0)

我采用了一种略微不同的方法来实现它。

我在htaccess中添加了一行,将style.css重定向到style.php:

RewriteRule ^style\.css$ style.php [L]

然后,style.php从配置PHP文件中的变量中获取模板的名称 - " template3.html"并将其转换为" template3.css" (使用str_replace)。

然后包括" /home/thin/templates/template3.css"文件。

style.php还包含以下行以强制将内容视为CSS:

header("Content-type: text/css; charset: UTF-8");