あなたはおそらく(ドキュメントをお読みください。http://php.net/manual/en/reserved.variables.server.php特に$_SERVER['HTTP_HOST']
)PHPで$_SERVER
スーパーグローバルを使用することができ、残りは、例えば、Aのために、おそらく簡単です
現在のもの(もしあれば)であるサブドメイン、見つけるために
switch($_SERVER['HTTP_HOST']) {
case 'city1.site.com': $abc=1; break;
case 'city2.site.com': $abc=2; break;
default: $abc=0; break;
}
のように、現在のサブドメインに応じて、switchステートメントは、更新:アイデアは、すべてのサブドメインに同じコードを使用します(あなたはコピーの任意の量を維持する必要はありません)などを介して異なる動作を強制することであり、コード。おそらくあなたは何らかの形で「キャッチオール」ドメインをセットアップすることもできます。あなたのセットアップドメインsite.com
は、サーバーのhtdocs/site.com
ディレクトリに住んでいる場合
ので、同様に他のすべてのドメインに対して同じディレクトリを使用しています。あなたのサイトの異なる出力を達成するために
あなたがサブドメインを抽出したら、その後、
if(strpos($_SERVER['HTTP_HOST'],'.site.com') !== FALSE) {
$subdomain = str_replace('.site.com','',$_SERVER['HTTP_HOST']);
}
else {
$subdomain = null;
}
// now 'city1' is in $subdomain
を行うために$abc
変数または他のいくつかのVAR(おそらく$_SERVER['HTTP_HOST']
)をチェックし、あなたは、SQLクエリを実行したりすることができますその値に似ています(データベースが適切に設定されている場合)。
チュートリアルをありがとうございますが、nothing.site.comのような不要なサブドメインはどうですか?どのように表示されないようにするか、特にGoogleによってスキャンされないようにする – Ilya
都市が存在しない場合は、404エラーが表示され、そのページが存在しないことをGoogleに伝えます。 インデックスにするものをgoogleに知らせるためにsitemap.xmlファイルを作成する必要があります。 –
さて、私は404がそれをすると思います!ありがとう! – Ilya