8

さて、これは以前に答えられたかもしれませんが、どうやら今まで私はまだ答えを見つけていません。

ユーザーが登録して、Webサイトで自分のサブドメインを即座に取得できるWebサイトがあることに気付くかもしれません。

たとえば、ドメインはwww.domain.comです。新しいユーザーをhensonとして登録すると、次のWebサイトに自分のページが表示されます。例:www.henson.domain.com(wwwの部分が必要かどうかはわかりません)したがって、ユーザーがwww.henson.domain.comを開いた場合、実際にはwww.domain.com?owner=hensonが開きます

htaccessのみを使用してこれを行うことはできますか?私はどこかでこれもcpanelでサブドメインを手動で作成する必要があることを読んだので(これはウェブサイトの目的を損ないます)。

ああ、ウェブサイトはフラットなPHPでコーディングされているので、MVCフレームワークはありません。誰かがフレームワーク(できればCodeIgniter)でこれを簡単に行う方法を知っているなら、答えてください。

答えてくれてありがとう。

4

4 に答える 4

5

できません。ワイルドカード仮想ホストを設定しhtaccess、必要なURL/ディレクトリに書き換える必要があります。詳細については、 http://blog.orite.com.au/web_development/2009-01-22/setting-up-wildcard-virtual-hosts-for-web-development-environment/を参照してください。

于 2010-10-20T09:52:50.947 に答える
5

サーバーに CPANEL がある場合は、PHP を介してサブドメインを動的に作成できる XMLAPI があります。

はい、手動ではなく動的に。私はこれに過去2日間を費やしました(サブドメインから電子メールアカウント、アドオンドメイン、SQLデータベース、ユーザーまでのすべての動的作成....すべて)、cpanel APIはすべてをきれいに処理します. ですから、少し時間をかけて、それを理解してください。

このページの最初のリンクから XMLAPI をダウンロードします: http://forums.cpanel.net/f42/xml-api-php-class-version-1-0-a-136449.html。サーバーで必要なのは xmlapi.php ファイルだけです。

そのフォーラム ページは、非常に高度なコーダーや非常にハックなコーダーによって書かれた、明確な出発点のない半作業例の悪夢のような墓場です。

これは、サブドメインを追加するための PHP の基本的なスクリプトで、大文字を個人的な値に置き換えます。これが正しくなるまでにかなりの時間がかかりました。頑張ってください!次のステップとして、そのフォーラム リンクをクリックして、他のすべての API1 および API2 関数を読んでください。

include("PATH_TO_THE_DOWNLOADED_xmlapi.php");

    $ip = "YOUR_IP_ADDRESS";
$root_pass = "ROOT_CPANEL_PASSWORD!";


$xmlapi = new xmlapi($ip);
$xmlapi->password_auth("root",$root_pass);

$account = "YOUR_CPANEL_MAIN_ACCNT_NAME";


print $xmlapi->api2_query($account, 'SubDomain','addsubdomain', array(dir=>"public_html/NAME_OF_SUBDOMAIN", domain=>"NAME_OF_SUBDOMAIN", rootdomain=>"MAIN_DOMAIN.com") );
于 2011-03-22T18:28:29.943 に答える
0

解析$_SERVER['SERVER_NAME']して、使用されているサブドメインを特定できます。そのwww部分は実際には決して必要ありません。これは、意味のない単なるサブドメインです。ほとんどの場合、メイン ドメインにマップされるだけです。例:

if (preg_match('/^(www\.)?(.+)\.your-domain.com$/', $_SERVER['SERVER_NAME'], $matches) && $matches[2] != 'www') {
    $subdomain = $matches[2];
    // your logic goes here
}
于 2010-10-20T09:54:55.483 に答える
0

これは.htaccess、サーバーがワイルドカード サブドメインを許可するように構成されている場合に実現できます。JustHost では、手動で名前*を付けたサブドメインを作成し、subdomains というフォルダーをワイルドカード サブドメインのドキュメント ルートとして指定することで、これを実現しました。これをサブドメイン フォルダー内のファイルに追加し.htaccessます。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.website\.com$
RewriteCond %{HTTP_HOST} ^(\w+)\.website\.com$
RewriteCond %{REQUEST_URI}:%1 !^/([^/]+)/([^:]*):\1
RewriteRule ^(.*)$ /%1/$1 [QSA]

最後に、サブドメイン用のフォルダーを作成し、サブドメイン ファイルを配置します。

于 2016-04-06T18:57:18.377 に答える