単一のホスティングにリダイレクトされる 5 つのドメインがあります。バナーに問題がある Web サイトで Joomla を使用しています。誰かがドメイン 1 からリダイレクトされた場合、ホスティング サイトにドメイン 1、ドメイン 2、バナー 2 などのバナーが表示されるようにします。
JoomlaでもCore PHPでも、最良の方法論は何でしょうか?
単一のホスティングにリダイレクトされる 5 つのドメインがあります。バナーに問題がある Web サイトで Joomla を使用しています。誰かがドメイン 1 からリダイレクトされた場合、ホスティング サイトにドメイン 1、ドメイン 2、バナー 2 などのバナーが表示されるようにします。
JoomlaでもCore PHPでも、最良の方法論は何でしょうか?
'HTTP_REFERER'
PHP の$_SERVER
スーパーグローバルで使用する必要があります。詳細については、マニュアルを参照してください。
基本的に、HTTP_REFERER
ホストに向けられたサイトの URI が含まれます。実際に値が含まれているとは限りませんがGET
、URL で発行された変数を使用しないことをお勧めします。注: ドメイン名を使用するには、ドメイン名を解析する必要があります。
説明書にはこう書いてあります...
ユーザー エージェントを現在のページに参照させたページ (存在する場合) のアドレス。これは、ユーザー エージェントによって設定されます。すべてのユーザー エージェントがこれを設定するわけではなく、機能として HTTP_REFERER を変更する機能を提供するユーザー エージェントもあります。要するに、本当に信用できない。
コードは次のようになります...
function GetBannerForDomain() {
$url_array = parse_url($_SERVER['HTTP_REFERER']);
switch (str_replace("www.", "", $url_array['host')) {
case 'example.com':
$img_src = 'path/to/banner.png';
default:
$img_src = 'path/to/default/banner.png';
}
return $img_src;
}
リダイレクトするドメインを制御できる場合は、リダイレクトで GET 変数を使用するようにフォールバックできます...
http://www.yoursite.com/referer/site1.com
function getBannerSrc() {
switch ($_SERVER['HTTP_REFERER']) {
case 'example.com':
$img_src = 'path/to/banner.png';
default:
$img_src = 'path/to/default/banner.png';
}
return $img_src;
}
...次に、ビュースクリプトで
<img src="<?php echo getBannerSrc(); ?>">
もしかしてそういうこと?