我正在尝试使用Html5Boilerplate构建我的网站,并且在大多数情况下,它就像我所说的那样。但是,我仍然无法在我的 PHP 文件中更新 CSS 引用。
我的文件夹结构如下:
css/style.css
page/header.php
现在在标题.php文件中,我有:
<!-- scripts concatenated and minified via ant build script-->
<link rel='stylesheet' href='css/style.css'/>
<!-- end scripts-->
我希望构建的标头.php文件具有以下内容:
<link rel='stylesheet' href='css/a4cd4c0.css'/>
但不幸的是,它没有更新引用。
在 project.properties 文件中,我有:file.pages = page/*,它正在剥离header.php文件中的注释,所以我知道构建脚本不会跳过该文件。
我尝试过各种变化,例如:
<!-- CSS concatenated and minified via ant build script-->
<link rel='stylesheet/css' type='text/css' href='css/style.css'/>
<!-- end CSS-->
但这也没有做任何事情。 。
有没有人尝试在他们的PHP文件中使用Html5Boilerplate更新他们的CSS文件?我可以尝试什么来让构建脚本更新引用?我的最后一个问题是:如果我使用以下行来包含我的 CSS,我可以让构建脚本更新引用吗?
<link rel='stylesheet/css' type='text/css' href='<?PHP echo(CSS_PATH) ?>style.css'/>
编辑:通过在build.xml文件中摆弄,我不仅让它工作,而且还让我的php echo工作。在构建的第 623 行周围.xml文件我更改了行:
<replaceregexp match="<link rel=['"]?stylesheet['"]?s+href=['"]?(.*)/${file.root.stylesheet}(?:?.*)?['"]?s*>"
replace="<link rel='stylesheet' href='1/${css.sha}.css'>" flags="m">
自
<replaceregexp match="href=['"]?(.*?>)${file.root.stylesheet}(?:?.*)?['"]?"
replace="href='1${css.sha}.css'" flags="m">
希望这对遇到类似问题的人有所帮助。
根据您使用的HTML5Boilerplate版本,答案很可能在于删除.htaccess文件中特别是关于"内置文件名的缓存破坏"的注释。
这是HTML5样板4.1的代码部分。
`<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>`
不建议编辑或返工构建.xml文件;
- 编辑 .htaccess 文件的效率要高得多。
- 这会增加无法通过更新和发布到 HTML5 样板来证明您的应用程序将来的风险。