1

私は分類されたサイトに取り組んでいます。そのためにPHPとMySqlを使用しています。

私のサイトでは、ユーザーがその都市を選択したときに、サブドメイン スタイルのように Web サイトの URL を変更したいと考えています。外国語:-

http://cityname.mywebsitename.com

これを実装するために私が考えていることは、すべての都市にサブドメインを作成することだけです。しかし、都市が 50 以上になると、管理が難しくなります。複数のドメインに対して同じスクリプトを何度もアップロードすることはできません。これを行うのは良い考えではないと思います。そのために単一のスクリプトを使用したいので、簡単な方法で管理できます。

何かアイデアがあれば、共有してください..

前もって感謝します

4

4 に答える 4

2

複数のドメインに対して同じスクリプトを何度もアップロードすることはできません。

その必要はありません。1 つの Web サーバーで複数のドメインをサポートでき、ドメイン間でファイルを共有できます。たとえば、「仮想ホスト」の設定に関する Apache の例を参照してください。

于 2012-09-21T19:21:46.430 に答える
2

DNS ワイルドカードを設定して、すべてが同じサイトにアクセスするようにします。次に、PHP を使用して、現在使用されているサブドメインを把握できます。また、それらすべての間で情報にアクセスできるようにする場合は、サブドメインではなくドメインに基づいて、すべてが SESSION または COOKIE を使用していることを確認してください。

また、ワイルドカードを受け入れるように apache をセットアップする必要があります。すべてのサブドメインが同じコードに向けられるようにします。

$urlParts = explode('.', $_SERVER['HTTP_HOST']);
$subdomain = $urlParts[0];
于 2012-09-21T19:25:01.913 に答える
2

私はそれをどのように作ったかをあなたに言います:

  1. DNS でワイルドカード サブドメイン レコードを追加

    *.domain.tld. 1.2.3.4 で

  2. ワイルドカード仮想ホストを追加

    <VirtualHost 1.2.3.4>
    DocumentRoot /var/www/vhosts/wildcard
    ServerAlias *.domain.tld.
    ServerName domain.tld
    ...
    </VirtualHost >
    
  3. すべてのリクエストを FrontController (通常は index.php) にリダイレクトする .htaccess を作成します。

    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
  4. PHP から解析$_SERVER['HTTP_HOST']して都市名を取得し、新しい FrontController (通常は index.php) を使用します。

Linuxとpleskを使用して専用サーバーまたはVPSで実行しました。以前の基準点にいくつかの変更を加えれば、どこでも可能です;)

于 2012-09-21T19:32:18.740 に答える
1

Apache Virtual Hosts を使用する道に進まないでください...スクリプトを共通のフォルダーに保存し、PHP 経由でそれらすべてにアクセスすることはできますが (仮想ホストinclude('../common_scripts/file.php')構成を管理する必要があります。DNS ワイルドカードを設定してから、クエリを実行するときに現在の URL を考慮に入れる単一のサイト。

于 2012-09-21T19:25:57.680 に答える