У меня есть простой скрипт отслеживания посещений страницы, который позволяет выводу отображать понятные имена вместо URL с помощью хеша.
ОБНОВЛЕНИЕ: Я использовал php для генерации хеша ниже, но использовал неправильное динамическое имя страницы item.html. При изменении на правильное имя скрипт возвращает желаемые результаты. Приносим извинения за потраченное время.
my %LocalAddressTitlePairs = (
'https://www.mywebsite.com/index.html' => 'HOME',
'https://www.mywebsite.com/art_gallery.html' => 'GALLERY',
'https://www.mywebsite.com/cart/item.html?itemID=83&cat=26' => 'Island Life',
'https://www.mywebsite.com/cart/item.html?itemID=11&cat=22' => 'Castaways',
'https://www.mywebsite.com/cart/item.html?itemID=13&cat=29' => 'Pelicans',
and so on..
);
Код для возврата обращений к странице:
sub url_format {
local $_ = $_[0] || '';
if ((m!$PREF{'My_Web_Address'}!i) and (m!^https://(.*)!i) ) {
if ($UseLocalAddressTitlePairs == 1) {
foreach my $Address (keys %LocalAddressTitlePairs) {
return "<a title=\"$Address\" href=\"$_\">$LocalAddressTitlePairs{$Address}</A>" if (m!$_$! eq m!$Address$!);
}
}
my $stub =$1;
return $stub;
}
}
При отображении совпадений в журнале будет отображаться HOME с правильной ссылкой, GALLERY с правильной URL-ссылкой. , но https://www.mywebsite.com/cart/item.html?itemID=83&cat=26
будет отображать случайное имя вместо того, каким оно должно быть, Island Life для этой страницы ... у него правильная ссылка, - при каждой загрузке страницы отображается другое имя. И выходные данные для всех страниц со строками запроса будут отображать одно и то же имя. Я знаю, что ссылки являются правильными, щелкая по страницам сайта и проверяя скрипт журнала для моих собственных посещений страницы. Я попытался -
while (my($mykey, $Value) = each %LocalAddressTitlePairs) {
return "<a title=\"$mykey\" href=\"$_\">$Value</a>" if(m!$_$! eq m!$mykey$!);
, но опять-таки ссылка верна, но связанное с mykey / Value тоже случайно. Слишком новый для Perl, чтобы понять это, но я провожу много онлайн исследований.