6

一般的に、私の開発は中小企業とeコマースサイトのみを対象としています。

私の次のプロジェクトには、たとえば30のサイトが含まれますが、それらのサイトには約95%の共通点があります。私は彼らに1つの「頭脳」を持たせたいのです。つまり、変更やフレームワークの更新などを1回だけロールアウトできるということです。

Stack Overflowファミリーのサイトがこれを行っているのだろうか(スーパーユーザー、stackoverflow、serverfaultなど)。

私が選んだ言語/プラットフォームは、PHP 5.3、MySQL 5、KohanaFrameworkです。

脳は持っている必要があります

  • すべてのサイトを処理できる1つの管理システム
  • すべてのテンプレートは脳内に存在しますが、タイトル、ロゴなどのプレースホルダーがあります
  • グローバルテンプレートへの更新をロールアウトできるようにする方法は、他のすべてのサイトに自動的にフィルターで除外されます。

これは脳に大きなストレスを与えることになるので、サーバー側のキャッシングを多用する必要があります。

各ドメインをどのように脳にアクセスさせるのでしょうか。たとえば、次のようになります。

http://www.mysite2.com/products/something

サイレントアクセスhttp://www.mothership.com/mysite2/products/something

そして、それがそれを行うための最良の方法でしょうか?ヒントはありますか?私は正しい方向に進んでいますか?

詳細については、お気軽にお問い合わせください。

4

2 に答える 2

3

これを行う最も簡単な方法は、仮想ホスティングを使用することです。基本的に、すべてのサイトを1台のマシンで実行します。1台のマシンには、すべてのサイトにサービスを提供するApache構成があります。

サイトが異なるよりも類似している場合は、すべてのサイトを1つのディレクトリにポイントするだけです。PHPファイルは、サービスを提供しているサイトを検出できます。ルックアンドフィールを処理するために、サイトごとに異なるヘッダーとフッターを提供できます。この方法で特定のページを制限することもできます。

サイトが類似したものよりも異なる場合は、それぞれを異なるディレクトリにポイントし、各ディレクトリにそれらのサイトに関連するページを配置します。

共通の機能については、mod_rewriteのようなものを使用して、異なるサイトのURLを同じスクリプトにマップするか、共通の機能を含む/必要とするPHPスクリプトを各場所に配置することができます。

基本的にたくさんのオプションがあります。目標は、サイトの保守を容易にし、コードの重複を最小限に抑えることです。

要求に応じて、以下をお勧めします。

于 2009-08-25T05:02:52.023 に答える
0

これは、Apacheでを使用して実現できます<VirtualHost> Directive。Apache 2.xでこれを行うには、次のhttpd.conf行を編集してコメントを解除します(通常はファイルの終わり近くにあります)Include conf/extra/httpd-vhosts.conf。次に、ファイルを見つけて、次の形式httpd-vhosts.confで入力しVirtualHostsます。

<VirtualHost 10.1.2.3>
DocumentRoot /home/site1
ServerName site1.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site2.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site3.com
</VirtualHost>
于 2009-08-25T05:16:46.567 に答える