3 Stimmen

Automatisches Hinzufügen von Google Analytics-Code zu einer HTML-Seite bei jedem Rendering der Seite

Ich habe eine Website, die auf einem Apache-Webserver gehostet wird. Eine andere Person lädt jede Woche statische HTML-Dateien per FTP in einen Ordner hoch, der von einer Software eines Drittanbieters erstellt wird.

Ich möchte den Goggle Analytics-Code auf jeder Seite einfügen, wenn sie gerendert wird, wobei die URLs, der ursprüngliche HTML-Code und der Prozess des Hochladens erhalten bleiben. Ich weiß nicht, wann die Dateien hochgeladen werden oder die Seitennamen (es werden jedes Mal Hunderte von Dateien hochgeladen).

Ursprünglich wollte ich die HTML-Seiten so einstellen, dass sie von der PHP-Engine geparst werden; dies ist jedoch nicht geeignet, da die Seiten keinen PHP-Code enthalten und ich die HTML-Seiten nicht durch Suchen und Ersetzen verändere.

Gibt es eine Möglichkeit, die PHP-Engine zu verwenden, um die Seite zu verarbeiten und den Code kurz vor dem Ende der Seite einzufügen, oder gibt es einen anderen Ansatz?

5voto

prodigitalson Punkte 59250

Nun, das wäre eine einfache Möglichkeit, nur um Ihnen eine Idee zu geben

in .htaccess im obersten Verzeichnis der veröffentlichten HTML-Dateien:

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

in 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;
   }

2voto

Jonathan Kuhn Punkte 14959

Wenn Sie eine .htaccess Datei, damit php html-Dateien parsen kann, können Sie php auto prepend/append verwenden, um php-Code zu einer Datei hinzuzufügen. Sehen Sie sich das an und suchen Sie nach auto prepend oder append, um zu erfahren, wie Sie eine Datei automatisch einbinden können. Dies kann auch in einer .htaccess-Datei geschehen. Um Apache dazu zu bringen, dass php html-Dateien parst, können Sie Sehen Sie sich das an für einige Informationen. Ich habe es gerade durch Google gefunden. Sie sollten in der Lage sein, beide zu verwenden, um eine php-Datei in alle html-Dateien einzubinden.

Edit: nur eine Anmerkung, es muss nicht php in den html-Dateien sein, damit dies auch funktioniert. php sucht nur nach den Teilen der Dateien mit php (was keine der Datei ist) und überspringt alles, was nicht php hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X