Piwik:Servername根据网络而变化

时间:2017-01-25 10:33:25

标签: javascript networking matomo

我在网站上运行Piwik webanalytics,该网站具有不同的域名/地址,具体取决于用户正在查看该网站的网络。此外,Piwik服务器的名称/地址会根据网络而变化。

假设用户a在网络aa上,该网络上的Piwik服务器地址是: 192.168.0.1 用户b在网络bb上,同一服务器的地址是: 192.168.0.2

如何让Piwik在两个网络上工作?使用dns不是一种选择。 在Piwik选项中似乎没有解决方案。还有其他办法吗?

这是跟踪脚本的一部分,它定义了服务器地址:

(function() {
var u="//192.168.0.1/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '2']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();

1 个答案:

答案 0 :(得分:0)

我想出了一个解决方案,但由于它也可能对其他人有用,我决定回答我自己的问题。

执行此操作的简单方法是在定义服务器地址的函数上添加if语句。 aa和bb网络中的页面域都不同,所以只需在网络中找到网站已加载并根据网络更改地址。

我们假设网络aa中的网站域名是:192.168.0.3,而bb网络中的站点域名是192.168.0.4

<?php

class model
{   

    public function validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf)
    {
        if(empty($u))
        {
            echo "<script>alert('Please enter Username')</script>";
            return false;
        }
        else if(empty($p))
        {
            echo "<script>alert('Please enter password')</script>";
            return false;
        }
        return true;
    }
    public function model()
    {
        $mysqli = new mysqli("localhost", "root", "", "php_mvc");

    }
    public function insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf)
    {
        $mysqli = new mysqli("localhost", "root", "", "php_mvc");
        $mysqli->query("INSERT INTO `php_mvc`.`form` (`fname`, `lname`, `pic`, `gender`, `country`, `state`, `city`, `zipcode`, `cno`, `hobby`, `address`, `pdf`) VALUES ('$u', '$p', '$i', '$g', '$c', '$s', '$ci', '$z', '$cno', '$chk', '$a', '$pdf');");

        if($mysqli)
        {
            echo "<script>alert('Inserted Successfully')</script>";
        }
            header("location:form.php");

    }

}

?>