データベースからドメインを取得しようとしているドメインの「有効性」(何かを作成することが許可されている場合)をチェックしているときに、URLがGET変数を介してスクリプトに到達し、データベースにクエリを実行します。
$url = $_GET['url']; // complete url of the site like: sub1.domain.com/page/1/some
$url = parse_url($_GET['url']); // parsing the url http://php.net/manual/en/function.parse-url.php
$host = $url['host']; // gives me sub1.domain.com
解析後:
$query = "SELECT * FROM domains_table WHERE domain = '" . $host . "'";
これはうまく機能します。domain.comには多くのサブドメインがあり、すべてのバリエーションをデータベースに保存できない場合があると思います。domain.comに30個のサブドメインがあり、sub1.domain.com sub2.domain.comなどを保存する必要がある場合、スペースが失われたように見えます...
代わりに、データベースに* .domain.comだけを保存してから、クエリまたはphpスクリプト(クエリに含まれている場合は個人用)で何らかの方法で(これがヘルプが必要な場合)、よりスマートな方法で考えていました。好み)*は任意の文字列である可能性があることを示すものを作成します。これどうやってするの?
編集:
答えには多少の混乱があるので、私は自分自身をよりよく説明しようとします。
テーブルにURLフィールドを保存している場合:*。domain1.comどうすれば次のようなものを作成できますか?
SELECT * FROM domain WHERE url LIKE "sub1.domain.com"
何かを取得します。