每次呈现页面时,自动将Google Analytics代码添加到HTML页面

时间:2010-09-21 07:16:38

标签: php html apache parsing google-analytics

我在Apache Web服务器上托管了一个网站。另一个人每周通过从第三方软件生成的FTP将静态HTML文件上传到文件夹。

我希望在呈现每个页面时插入Goggle Analytics代码,同时保留URL,原始HTML和上传过程。我不知道文件上传的时间或页面名称(每次上传的文件数量为100)。

我最初想过设置要用PHP引擎解析的HTML;但是,这不适合,因为页面不包含PHP代码,我不会通过查找和替换来修改HTML页面。

有没有办法在页面结尾或其他方法之前使用PHP引擎处理页面注入代码?

2 个答案:

答案 0 :(得分: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;
   }

答案 1 :(得分:2)

如果你使用.htaccess文件来解析html文件,你可以使用php auto prepend / append将一些php代码添加到文件中。 Check out this并查找自动前置或附加以了解如何自动包含文件。这也可以在.htaccess中完成。要获取apache以使php解析html文件,您可以check this out获取一些信息。我刚刚通过谷歌找到它。你应该可以使用这两个来包含一个php文件到所有的html文件。

编辑:只是一个注释,在html文件中不需要php也可以使用。 php将只使用php查找文件的部分(这不是文件)并跳过任何没有php的文件。