BloggerまたはWordPressにサインアップすると、すぐに機能する独自のサブドメインを取得します。自分のVPS/VDS /専用サーバーを持っている場合、どうすれば同じことを達成できますか?
2 に答える
一言で言えば:
- DNSでワイルドカードドメインを作成します(つまり、whatever.yourdomain.exampleがIPを返すものを解決します)。
- Webサーバーにデフォルトの仮想ホストを作成し、
- アプリケーションのURLを確認してください。
これを行う方法は、使用するテクノロジーによって異なります。いくつか例を挙げましょう。
- BINDおよびWindowsServerDNSでワイルドカードドメインを設定する方法。
- デフォルトの仮想ホストを作成するには、IISでホストエントリのないWebサーバーを作成する必要があります。Apacheでは、構成ファイルにリストされている最初の仮想ホストがデフォルトのホストになります。
- ここでは、(a)ドメインに応じてURLを書き換えることができます(つまり、サブドメインをURLのパラメーターに変換します。たとえば、ASP.NETの場合、mod_rewriteを使用したApacheの例:Link1、Link2)、または(b) URLのホスト部分(
Request.Url
ASP.NETなど)を確認してください。
bortzmeyerによる追加(編集内容を上書きして申し訳ありません。編集の競合が発生しました):
通常のDNSゾーンファイル形式(RFC 1035で説明され、BIND、nsdなどで実装されている)のワイルドカードの構文には、星が付いています。
* IN A 198.51.100.3
このAとCNAMEのすべてに素人である人のために、非常に単純な解決策があり、共有ホスティングで動作します。
cpanelに移動し、*を使用してサブドメインを追加するだけです。
たとえば、ドメインの名前がabc.comの場合、*を追加し、これのルートとしてサブディレクトリを選択/入力できます。保存すると、サブドメインテーブルに* .abc.comが追加され、必要なすべてのAレコードがゾーンファイルに追加されます。
ブラウザで「any」.abc.comを押すと、サーバーは指定された場所(指定したサブディレクトリ)に移動します。
さらに、特定のリダイレクトのためにすべての(任意の)サブドメインを処理するために、そのサブディレクトリの.htaccessを使用して、すべての着信サブドメイン要求を処理できます。
実用的な.htaccessの例は次のとおりです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(^.*)\.abc\.com
RewriteRule (.*) handler.php?user=%1&%{QUERY_STRING}
</IfModule>
handler.php(以下のコード)は、URLにサブドメイン名とすべてのクエリ文字列を含むウェルカムメッセージを表示するだけです。
$user = $_REQUEST["user"];
print_r($_REQUEST);
echo "Welcome {$user}";
お役に立てれば。