私はクライアントのために複雑なサイトを構築しました。クライアントは、これを複製してスキンを変更し、他の手段に使用できるようにしたいと考えています。
これを行う最善の方法は何ですか?すべてのファイルをコピーすることを懸念しています。これは、バグを 2 回修正し、改善を 2 回実装する必要があることを意味します。
私はクライアントのために複雑なサイトを構築しました。クライアントは、これを複製してスキンを変更し、他の手段に使用できるようにしたいと考えています。
これを行う最善の方法は何ですか?すべてのファイルをコピーすることを懸念しています。これは、バグを 2 回修正し、改善を 2 回実装する必要があることを意味します。
あなたのコードをリファクタリングしたいと思います。
共通の関数を、両方のプロジェクトから参照できるライブラリに移動します。新しいサイトが別の目的のためのものであると述べた場合、相違が見られる可能性が高く、後で自分自身を妨げたくないので、共通部分を抽出し、残りのコピー (または適切な場合は新しいファイル) を次のように変更します。フォークを完成させます。
優れたプラクティスをまだ適用していない場合は、今こそ実行するときです。これにより、両方のサイトでの作業がより簡単になり、前に進むことができます。
サイト全体を複製したい場合は、全体をコピーして必要に応じて修正するのがおそらく最善です。明らかに、テキストの大部分をコピーしないように細心の注意を払ってください。そうしないと、検索エンジンからペナルティを受ける可能性があります。
新しいサイトを同じ共有ホスト (元のサイトのサブディレクトリ内など) に置き、文字通りいくつかのファイルを「共有」する方法があります。独自の変更が必要な場合は、代わりに特定のファイルの「ローカル」バージョンを参照できます。
しかし、それは私にとって頭痛の種のように思えます。サイト全体を複製することをお勧めします。ソースへの特定の変更によってどのWeb サイトが影響を受けるかを調べて解決するよりも、別の Web サイトで 1 つまたは 2 つの機能を置き換える方がはるかに簡単です。
すべての機能が同じで、レイアウトのみが異なる場合は、新しい css ファイルを作成できます。2 つの Web サイトがまったく同じコード ベースを持っていても、スタイルシートが異なり、まったく異なって見える場合があります。
Subversion やできれば git のようなバージョン管理システムを使用することは、Web サイトを複製する良い方法だと思います。行った変更を追跡し、うまくいかない場合は古いバージョンに戻すことができます。
なんらかのインスタンス化を実装する必要があります。そのため、ルック アンド フィール、コンテンツ、およびデータは、アクセスされるアプリケーションのインスタンスに応じて表示されます。
つまり、各アプリケーションは異なるアプリケーション ID を使用してコードにアクセスします。これは、コンテンツがそれに応じて提供されることを意味します。
両方のアプリケーション識別子が異なる設定を指しているため、スタイルシートとコンテンツは完全に分離され、両方のドメインが同じ IIS アプリケーション内に存在します。