1. ホーム
  2. php

[解決済み] PHPに各ユーザーのサブドメインを自動的に作成させるには?

2022-05-01 13:27:25

質問

のようなサブドメインを作成するにはどうすればよいですか? http://user.mywebsite.com ? htaccessにアクセスする必要があるのでしょうか?それとも、外部のスクリプトやサーバーサイドの言語を使用する必要があるのでしょうか?

回答してくれた人へ DNSアクセスのいくつかの種類を提供する場合、私は私のホスティングを求めるべきですか?

解決方法は?

カスタム Aレコード .

Aレコードを指定するときにワイルドカードが使えると思うのですが、それを使うとこんな感じになります。

*.mywebsite.com       IN  A       127.0.0.1

127.0.0.1は、あなたのウェブサーバーのIPアドレスになります。 実際にレコードを追加する方法は、お使いのホストに依存します。


のように行う。 http://mywebsite.com/user は、オプションであれば、もっと簡単に設定できると思います。

それなら、こんな感じの.htaccessファイルを追加すればいいんじゃないでしょうか。

Options +FollowSymLinks

RewriteEngine On
RewriteRule ^([aA-zZ])$  dostuff.php?username=$1

上記では、ユーザーネームはa-zの文字に限定されています


サブドメインを取得するためのリライトルールは、以下のようになります。

RewriteCond %{HTTP_HOST} ^(^.*)\.mywebsite.com
RewriteRule (.*)  dostuff.php?username=%1


しかし、実際にはリライト・ルールは必要ないのです。HTTP_HOST ヘッダは PHP でも利用可能なので、以下のようにすでに取得することができます。

$username = strtok($_SERVER['HTTP_HOST'], ".");