2 farklı alanları ile web siteme her erişim günlüğüne nasıl

3 Cevap php

Ben iki farklı etki aynı sunucuda Web sayfama her iki nokta var.

Ben ana kadar yapılan her erişimi oturum ve oturum istediğiniz alanı Anasayfam erişmek için kullanılan kullanıcı, bunu nasıl yapabilirim?

PHP ile MySQL veritabanı Apache mod_rewrite ve günlüğü çalıştım ama yapabileceği sonsuz döngüler oldu.

Herhangi bir fikir?

EDIT:
By your answers, I see you didn't get what I want...

Bildiğim kadarıyla Google Analytics bana kullanılan alanı ayırt izin vermezse aynı siteye her ikisi de gelin ve o da bana görüntüler gibi bazı dosyalar benim web sayfalarının aracılığıyla yerine doğrudan erişilebilir olduğunu görmek için izin vermez.

Ben sadece söylediğim gibi ben de sadece $ _SERVER ['HTTP_HOST'] neden kullanamıyorum, ben görüntüleri ve tüm diğer dosyalar gibi HERŞEYİ, oturum açmak istiyorsanız, her isteği, o yok bile.

Webalizer gelince, ben bu etki alanları arasında, her zaman hesapta varsayılan etki alanı configure varsayar farklılaştırmak ve kök gibi, hatta bunu göstermek değil kullanan görmedim. Ben tekrar kontrol etmek gerekir, ama ben istediğimi yapacağım emin değilim ...

INFINITE LOOP:
The approach I tried involved rewriting the urls in Apche with a simple Rewrite rule pointing to a PHP script, the PHP script would log the entry into a MySQL database and the send the user back to the file with the header() function. Something like this:

.htaccess:

RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.net [NC]
RewriteRule ^(.*)$ http://www.domain1.net/logscript?a=$1 [NC,L]

RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.net [NC]
RewriteRule ^(.*)$ http://www.domain2.net/logscript?a=$1 [NC,L]

PHP Script:

$url = $_GET['a'];
$domain = $_SERVER['HTTP_HOST'];

// Code to log the entry into the MySQL database

header("Location: http://$domain/$url");
exit();

Yani, ben PHP komut dosyası ve komut oturum ve bu dosyaya yönlendirir bazı dosya, erişim noktası ... PHP bu dosyaya yönlendirir Ancak, htaccess kuralları pick up ve çok PHP komut dosyası yeniden yönlendirme , sonsuz bir döngü yaratıyor.

3 Cevap

En iyi şey, sunucu günlükleri ayrıştırmak için olacaktır. Bu etki alanı ve isteği gösterecektir. Hatta çoğu hosting hesapları günlüklerine erişim sağlar.

Eğer yeniden yazma rota gitmek için gidiyoruz eğer, RewriteCond referer bir yerel bağlantı ya da değil olup olmadığını görmek için HTTP_REFERER değerini kontrol etmek için kullanabilirsiniz.

 RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.net [NC]
 RewriteCond %{HTTP_REFERER} !^(.*)domain1(.*)$ [NC]
 RewriteRule ^(.*)$ http://www.domain1.net/logscript?a=$1 [NC,L]

 RewriteCond %{HTTP_HOST} ^(.*)domain2\.net [NC]
 RewriteCond %{HTTP_REFERER} !^(.*)domain2(.*)$ [NC]
 RewriteRule ^(.*)$ http://www.domain2.net/logscript?a=$1 [NC,L]

Ayrıca mod_rewrite foruma isteyebilirsiniz. Bunlar etki kullanımı hakkında bir bölüm var.

Google Analytics, bir şey değilse,

$_SERVER['HTTP_HOST']

holds the domain that is used, you can log that (along with time, browser, filepath etc). No need for mod_rewrite I think. Check print_r($_SERVER) to see other things that might be interesting to log.
Make sure to still escape (mysql_real_escape_string()) all the log values, it's trivially easy to inject SQL via the browser's user-agent string for example.


Yani, ben PHP komut dosyası ve komut oturum ve bu dosyaya yönlendirir bazı dosya, erişim noktası ... PHP bu dosyaya yönlendirir Ancak, htaccess kuralları pick up ve çok PHP komut dosyası yeniden yönlendirme , sonsuz bir döngü yaratıyor.

Eğer RewriteCond HTTP başlıkları kontrol edebilir? Eğer öyleyse, başlamak kongre özel HTTP başlıklarını tarafından PHP yönlendirme (yanında fazladan bir başlık ayarlamaya çalışın 'X-' it ('X-Stayhere: 1' başlığı olabilir bu yüzden ;)), ve X-Stayhere başlığı ise mevcut, RewriteCond başarısız olur ve PHP script için tarayıcı iletmediği.

Ancak, sunucu günlükleri indirmek ve bazı ücretsiz günlük dosyası analizörü ile onları çalıştırmak için bir komut dosyası cron olabilir, ben bunun yerine birlikte gitmek istiyorum. Her istek için iki yönlendirmeleri sahip .. yükü adil biraz (ve ben daha uyanık olsaydı ben farklı çözümler ile gelmek mümkün olabilir)

Google Analytics bu seçeneği sunmaz? Ya da sunucu günlük dosyalarını ayrıştırmak değil mi?