加载集中的HTML和CSS文件



我正在一台服务器上构建网站,并希望在所有网站上使用一些集中的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文件的位置?

在您的DOCUMENT_ROOT/.htaccess文件中添加以下代码:

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

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

我在我的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");

最新更新