Matt Sheppard の回答を拡張すると、次のようになります。
<script type="text/javascript">
var thePg=window.location.pathname;
var theSite=window.location.hostname;
var theImage=new Image;
theImage.src="/test/hitcounter.php?pg=" + thePg + "?site=" + theSite;
</script>
これは、サーバー側でページ名を置き換える必要なく、ページ ヘッダーまたはフッター テンプレートにプラグインできます。クエリ文字列 (window.location.search) を含める場合、これの堅牢なバージョンは文字列をエンコードして、悪意のある者が URL の奇妙なものに基づいて脆弱性を悪用するページ リクエストを作成できないようにする必要があることに注意してください。これと通常の<img>
タグ orの良い<iframe>
点は、hitcounter スクリプトに問題がある場合に、ユーザーに赤い x が表示されないことです。場合によっては、サーバー側で行われる書き換えなどの前に、ブラウザーが見た URL を知ることも重要であり、これによりそれが得られます。両方の方法が必要な場合は、そのバージョンのページ名をクエリ文字列にも挿入するサーバー側の別のパラメーターを追加します。
このページのテストからのログ ファイルの例:
10.1.1.17 - - [13/Sep/2008:22:21:00 -0400] "GET /test/testpage.html HTTP/1.1" 200 306 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16"
10.1.1.17 - - [13/Sep/2008:22:21:00 -0400] "GET /test/hitcounter.php?pg=/test/testpage.html?site=www.home.***.com HTTP/1.1" 301 - "http://www.home.***.com/test/testpage.html" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16"