<li><a href="#URLNotCaseSensitive">URLNotCaseSensitive</a>\r
<li><a href="#URLWithQuery">URLWithQuery</a>\r
<li><a href="#URLWithQueryWithoutFollowingParameters">URLWithQueryWithoutFollowingParameters</a>\r
+<li><a href="#URLReferrerWithQuery">URLReferrerWithQuery</a>\r
<li><a href="#WarningMessages">WarningMessages</a>\r
<li><a href="#NbOfLinesForCorruptedLog">NbOfLinesForCorruptedLog</a>\r
<li><a href="#SplitSearchString">SplitSearchString</a>\r
\r
<a name="URLWithQuery"><b>URLWithQuery</b></a><br>\r
<b>Version : </b>3.2 +<br>\r
-<br># Keep or attach the query string to the URL in the statistics for individual\r
+<br># Keep or remove the query string to the URL in the statistics for individual\r
<br># pages. This is primarily used to differentiate between the URLs of dynamic\r
<br># pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as two\r
<br># different pages.\r
\r
<br><br><hr>\r
\r
+<a name="URLReferrerWithQuery"><b>URLReferrerWithQuery</b></a><br>\r
+<b>Version : </b>5.1 +<br>\r
+<br># Keep or remove the query string to the referrer URL in the statistics for\r
+<br># external referrer pages. This is used to differentiate between the URLs of\r
+<br># dynamic referrer pages. If set to 1, mypage.html?id=x and mypage.html?id=y\r
+<br># are counted as two different referrer pages.\r
+<br># Possible values:\r
+<br># 0 - Referrer URLs are cleaned from the query string (ie: "/mypage.html")\r
+<br># 1 - Full URL with query string is used (ie: "/mypage.html?p=x&q=y")\r
+<br># Default: 0\r
+<br># \r
+<br>URLReferrerWithQuery=0\r
+\r
+<br><br><hr>\r
+\r
<a name="WarningMessages"><b>WarningMessages</b></a><br>\r
<b>Version : </b>1.0 +<br>\r
<br># AWStats can detect setup problems or show you important informations to have\r
$ShowAuthenticatedUsers $ShowFileSizesStats
$ShowDropped $ShowCorrupted $ShowUnknownOrigin $ShowLinksToWhoIs
$ShowEMailSenders $ShowEMailReceivers
-$Expires $UpdateStats $MigrateStats $URLNotCaseSensitive $URLWithQuery $UseFramesWhenCGI $DecodeUA
+$Expires $UpdateStats $MigrateStats $URLNotCaseSensitive $URLWithQuery $URLReferrerWithQuery
+$UseFramesWhenCGI $DecodeUA
/;
($EnableLockForUpdate, $DNSLookup, $AllowAccessFromWebToAuthenticatedUsersOnly,
$BarHeight, $BarWidth, $CreateDirDataIfNotExists, $KeepBackupOfHistoricFiles, $MaxLengthOfURL,
$ShowAuthenticatedUsers, $ShowFileSizesStats,
$ShowDropped, $ShowCorrupted, $ShowUnknownOrigin, $ShowLinksToWhoIs,
$ShowEMailSenders, $ShowEMailReceivers,
-$Expires, $UpdateStats, $MigrateStats, $URLNotCaseSensitive, $URLWithQuery, $UseFramesWhenCGI, $DecodeUA)=
-(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+$Expires, $UpdateStats, $MigrateStats, $URLNotCaseSensitive, $URLWithQuery, $URLReferrerWithQuery,
+$UseFramesWhenCGI, $DecodeUA)=
+(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
use vars qw/
$AllowToUpdateStatsFromBrowser $ArchiveLogRecords $DetailedReportsOnNewWindows
$FirstDayOfWeek $KeyWordsNotSensitive $SaveDatabaseFilesWithPermissionsForEveryone
next;
}
if ($param =~ /^URLNotCaseSensitive$/) { $URLNotCaseSensitive=$value; next; }
- if ($param =~ /^URLWithQuery$/) { $URLWithQuery=$value; next; }
+ if ($param =~ /^URLWithQuery$/) { $URLWithQuery=$value; next; }
if ($param =~ /^URLWithQueryWithoutFollowingParameters$/) {
foreach my $elem (split(/\s+/,$value)) { push @URLWithQueryWithoutFollowingParameters,$elem; }
next;
}
- if ($param =~ /^WarningMessages/) { $WarningMessages=$value; next; }
- if ($param =~ /^NbOfLinesForCorruptedLog/) { $NbOfLinesForCorruptedLog=$value; next; }
- if ($param =~ /^Expires/) { $Expires=$value; next; }
- if ($param =~ /^WrapperScript/) { $WrapperScript=$value; next; }
- if ($param =~ /^DecodeUA/) { $DecodeUA=$value; next; }
+ if ($param =~ /^URLReferrerWithQuery$/) { $URLReferrerWithQuery=$value; next; }
+ if ($param =~ /^WarningMessages/) { $WarningMessages=$value; next; }
+ if ($param =~ /^NbOfLinesForCorruptedLog/) { $NbOfLinesForCorruptedLog=$value; next; }
+ if ($param =~ /^Expires/) { $Expires=$value; next; }
+ if ($param =~ /^WrapperScript/) { $WrapperScript=$value; next; }
+ if ($param =~ /^DecodeUA/) { $DecodeUA=$value; next; }
# Read optional accuracy setup section
if ($param =~ /^LevelForRobotsDetection/) { $LevelForRobotsDetection=$value; next; }
if ($param =~ /^LevelForBrowsersDetection/) { $LevelForBrowsersDetection=$value; next; }
if (! $DefaultFile[0]) { $DefaultFile[0]="index.html"; }
if ($URLNotCaseSensitive !~ /[0-1]/) { $URLNotCaseSensitive=0; }
if ($URLWithQuery !~ /[0-1]/) { $URLWithQuery=0; }
+ if ($URLReferrerWithQuery !~ /[0-1]/) { $URLReferrerWithQuery=0; }
if ($WarningMessages !~ /[0-1]/) { $WarningMessages=1; }
if ($NbOfLinesForCorruptedLog !~ /^\d+/ || $NbOfLinesForCorruptedLog<1) { $NbOfLinesForCorruptedLog=50; }
if ($Expires !~ /^\d+/) { $Expires=0; }
$found=1;
}
else {
- # This hit came from the search engine
+ # This hit came from a search engine
if ($PageBool) { $_from_p[2]++; }
$_from_h[2]++;
$_se_referrals_h{$TmpRefererServer{$refererserver}}++;
if ($PageBool) { $_from_p[3]++; }
$_from_h[3]++;
# http://www.mysite.com/ must be same referer than http://www.mysite.com but .../mypage/ differs of .../mypage
- #if ($refurl[0] =~ /^[^\/]+\/$/) { $field[$pos_referer] =~ s/\/$//; } # Code moved in save
- $_pagesrefs_h{$field[$pos_referer]}++;
+ #if ($refurl[0] =~ /^[^\/]+\/$/) { $field[$pos_referer] =~ s/\/$//; } # Code moved in SaveHistory
+ if ($URLReferrerWithQuery) {
+ $_pagesrefs_h{$field[$pos_referer]}++;
+ }
+ else {
+ if ($field[$pos_referer]=~/^(.*)\?/) { $_pagesrefs_h{"$1"}++; }
+ else { $_pagesrefs_h{$field[$pos_referer]}++; }
+ }
$found=1;
}
}