2010-09-21 113 views
2

我有一個託管在Apache Web服務器上的網站。另一個人每週通過從第三方軟件生成的FTP將靜態HTML文件上傳到文件夾。Auto在每次頁面呈現時將Google Analytics(分析)代碼添加到HTML頁面

我希望在保存URL,原始HTML和上傳過程的同時在每個頁面上插入Goggle Analytics代碼。我不知道什麼時候上傳文件或頁面名稱(每次上傳的文件有100個)。

我最初想到的是將HTML設置爲用PHP引擎解析;然而,這是不適合的,因爲頁面不包含PHP代碼,並且我不通過查找和替換來修改HTML頁面。

有沒有一種方法可以在頁面結束之前使用PHP引擎來處理頁面注入代碼或其他方法?

回答

5

那麼這將是一個簡單的方法,僅僅指剛給你一個想法

在發佈的HTML文件的頂級目錄的.htaccess:

RewriteCond %{REQUEST_URI} ^/path/in/question/if/not/document/root/(.+\.html)$ 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^(.+)$ index.php [L] 
的index.php中

$ga = 'your ga tracking code'; 

    $file = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI']; 

    if(file_exists($file)) 
    { 

     $content = file_get_contents($file); 

     if(false !== ($pos = strpos($content, '</body>'))) 
     { 
     $content = substr($content, 0, $pos).$ga.substr($content, $pos); 
     } 

     print $content; 
     exit; 
    } 
+0

這看起來像最好的方法將在稍後測試 - 謝謝 – John 2010-09-21 09:45:51

+0

測試,它的工作。謝謝 – John 2010-09-24 11:26:50

2

如果您使用.htaccess文件來解析PHP文件,您可以使用php auto prepend/append將一些php代碼添加到文件中。 Check out this並查找自動預先或附加以瞭解如何自動包含文件。這也可以在.htaccess中完成。要獲得apache使php解析html文件,可以使用check this out獲取一些信息。我只是通過谷歌找到它。你應該能夠使用這兩個包含一個PHP文件到所有的HTML文件。

編輯:只是一個說明,不需要在HTML文件中的PHP爲此工作以及。 PHP只會尋找與PHP文件的部分(這是沒有文件),並跳過任何不具有PHP。

相關問題