example.com と呼ぶ Web サイトがあります。この Web サイトには、a.example.com、b.example.com、c.example.com などのいくつかのサブドメインがあります。ドメインへの訪問者が特定のサブドメインを優先ページとして選択できるようにしたいと考えています。この時点から、ユーザーがページにアクセスすると、ユーザーは自動的に優先ページにリダイレクトされます。
これを行う方法や、どこを見ればよいかさえわかりません。
example.com と呼ぶ Web サイトがあります。この Web サイトには、a.example.com、b.example.com、c.example.com などのいくつかのサブドメインがあります。ドメインへの訪問者が特定のサブドメインを優先ページとして選択できるようにしたいと考えています。この時点から、ユーザーがページにアクセスすると、ユーザーは自動的に優先ページにリダイレクトされます。
これを行う方法や、どこを見ればよいかさえわかりません。
まあ、あなたが必要です
a) Cookie ( PHPまたはJavascriptを使用) またはデータベース (ユーザーがログインしている場合) などの設定を保存する場所
b) ユーザーが好みを設定できるページ
c) ユーザーを好みのサイトにリダイレクトするスクリプト (たとえば、PHPのヘッダー関数を使用)
以下のように、サブドメインurlをページ ( settings.php )に追加します。
<a href="choose.php?sub=abc">Choose ABC Subdomain</a><br/>
<a href="choose.php?sub=bbc">Choose BBC Subdomain</a><br/>
<a href="choose.php?sub=subin">Choose subin Subdomain</a>
choose.php :
<?
if($_GET['sub']!=''){
$sub=$_GET['sub'];
setcookie("subwhere",$sub, time()+301014600, "/", "example.com"));
header("Location:http://$sub.example.com");
}
?>
index.phpには、ページの上部にあるcheckredirection.phpファイルを含めます。
<?
include("checkredirection.php");
?>
checkredirection.php :
<?
$coo=$_COOKIE['subwhere'];
if($coo!="" && $_SERVER['SERVER_NAME']!="$coo.example.com"){
header("Location:http://$coo.example.com");
}
?>
ユーザーにリダイレクトさせたいページにcheckredirection.phpを含めます。
まず、ユーザーは登録されてログインしていますか、それとも IP アドレスで識別していますか?
登録してログイン: ユーザー ID、電子メール、またはデータベースの主キー (できれば ID) として使用するものを、ユーザーが好みを選択するときに、好みのサブドメインと共に別のテーブルに記録します。
未登録/ログイン: IP アドレスとサブドメインの選択を表に記録します。
基本的なテーブル構造は
id - ip_address(または user_id) - サブドメイン
次に、IP またはユーザー ID についてデータベースをチェックする if ステートメントを実行します。
<?
/* database checking code, etc, assuming we're returning $result from the query */
$subdomain = @mysql_result($result,0,'subdomain');
if($subdomain != '') header('Location: '.$subdomain.'.yourdomain.com');
?>
これは 1 つの戦略にすぎず、おそらく最も基本的なものです。明らかに、コードを作成する必要があります (これを行う方法を知っていて、戦略が必要であると想定しています。それ以外の場合は、ここで質問するのではなく、チュートリアルを参照してください)。つまり、ファイルの先頭にあります)。
好みが見つからない場合は、そのページにとどまります。
寝ぼけて書いているので、不備や分かりにくい情報がありましたら申し訳ありません。