2017-01-25 7 views
0

ユーザーがサイトを表示しているネットワークによって異なるドメイン名/アドレスを持つサイトでPiwik webanalyticsを実行します。また、Piwikサーバーの名前/アドレスはネットワークによって異なります。 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); 
})(); 

答えて

0

私はこれに対する解決策を思い付いたが、それはあまりにも他の人のために便利来るかもしれないので、私は自分自身に答えることにしました質問。

これを行う簡単な方法は、サーバーアドレスを定義する関数にifステートメントを広告することです。 aaとbbの両方のネットワークのページドメインが異なるので、サイトがロードされていることをネットワークで知り、ネットワークに応じてアドレスを変更します。 192.168.0.3とBBネットワーク内のサイトのドメインは192.168.0.4

(function() { 
if (window.location.hostname === "192.168.0.3") 
{var u="//192.168.0.1/piwik/"} 
else { 
var u="//192.168.0.2/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); 
})(); 
です:

のは、ネットワークAAでサイトのドメインがあるとしましょう

関連する問題