Hallo Forum,
ich habe den Server-Adminstratror gebeten, einen Cronjob für die Archivierung anzulegen und auf die Dokumentation dazu verwiesen. Nun fragte mich der Admin nach der URL, die er als Parameter für den Cronjob benötigt. Das Piwik-Frontend ist auf dem Server unter www.example.org/_piwik/ erreichbar. Das wäre dann ja eigentlich ganz einfach …
… eigentlich bin ich mir aber nicht sicher, ob’s eine Rolle spielt:
Ich habe im Piwik-Frontend 4 Webseiten einer Domain (example.org) eingerichtet. Diese 4 Webseiten sind unter 3 Subdomains erreichbar (www.example.org, sub1.example.org, sub2.example.org) erreichbar. Alle 4 zeigen auf die selbe DocumentRoot (/srv/www/example/index.php). Im Tracking-Code auf diesen 4 Seiten wird dementsprechend jeweils der JS-Parameter “var pkBaseURL” mit PHP entsprechend der Variable $_SERVER[‘SERVER_NAME’] generiert.
var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.example.org/_piwik/" : "http://www.example.org/_piwik/");
oder
var pkBaseURL = (("https:" == document.location.protocol) ? "https://sub1.example.org/_piwik/" : "http://sub1.example.org/_piwik/");
oder
var pkBaseURL = (("https:" == document.location.protocol) ? "https://sub2.example.org/_piwik/" : "http://sub2.example.org/_piwik/");
Darüber hinaus wird im Code noch die passende ID der jeweileigen Website generiert.
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
oder
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
oder
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
oder
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 4);
Das Tracking funktioniert so einwandfrei. Nur frage ich mich, wie und ob ich diese Konfiguration im Cronjob berücksichtigen muss.
Danke für Tipps und
beste gruesse,
heinetz