2012-04-08 50 views
1

我正試圖用Html5Boilerplate構建我的網站,並且我發現它的大多數部分都是這樣。 但是,我仍然無法獲得CSS參考來更新我的PHP文件。HTML5Boilerplate構建腳本PHP文件中的CSS參考

我的文件夾結構如下:

css/style.css 
    page/header.php 

現在header.php文件我有:

<!-- scripts concatenated and minified via ant build script--> 
     <link rel='stylesheet' href='css/style.css'/> 
    <!-- end scripts--> 

我希望內置header.php文件有以下幾點:

<link rel='stylesheet' href='css/a4cd4c0.css'/> 

但不幸的是,它不更新參考。

在project.properties文件中我有:file.pages = page/*,它剝離了header.php文件中的註釋,因此我知道構建腳本不會跳過該文件。

我已經試過variaties,如:

<!-- 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回聲。 圍繞build.xml文件的623行我已經改變了線路:

<replaceregexp match="&lt;link rel=['&quot;]?stylesheet['&quot;]?\s+href=['&quot;]?(.*)/${file.root.stylesheet}(?:\?.*)?['&quot;]?\s*&gt;" 
     replace="&lt;link rel='stylesheet' href='\1/${css.sha}.css'&gt;" flags="m"> 

<replaceregexp match="href=['&quot;]?(.*\?&gt;)${file.root.stylesheet}(?:\?.*)?['&quot;]?" 
     replace="href='\1${css.sha}.css'" flags="m"> 

希望這可以幫助別人誰是運行到類似的問題。

回答

0

根據您使用的HTML5Boilerplate的版本,答案很可能在於刪除.htaccess文件中有關'內置文件名緩存清除'的註釋。

這是從HTML5 Boilerplate 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>` 

編輯或返工build.xml文件是不可取的;

  • 編輯.htaccess文件效率更高。
  • 您將增加未能通過更新和發佈到HTML5 Boilerplate來驗證應用程序的風險。