2

私は Laravel を初めて使用し、現在取り組んでいるこのプロジェクトで Laravel を使用する方法を考え出しています。私はそれにアプローチすることについていくつかのアイデアを持っており、専門家がどのように仕事をするかを知りたい.

私が取り組んでいるプロジェクトには、CMS、有益なサイト、および約 35 の専門 Web サイトがあります。CMS、情報サイト、専門サイトでは内容やデザインが異なります。しかし、35 の専門 Web サイトはすべてほとんど同じです。デザインとレイアウトは同じですが、サイトには異なるコンテンツが含まれています。現在、すべてのサイトが独自のコードベースを持っているため、維持が非常に困難です。

現在、1 つのコードベースのみを使用するソリューションを探しています。CMS とサイトは一部の機能を共有しており、どちらにも独自の機能があります。これを行う方法がわかりません。

サイトは、DirectAdmin がインストールされた専用の Web サーバー上で実行されます。DirectAdmin 内では、ドメイン ポインタを作成できます。このようにして、http_host 変数をチェックすることで正しいコンテンツを表示するサイトを作成できます。また、ある特定のサイトで他のサイトとは異なる機能が必要になった場合は、http_host も確認できます。これが SEO に何らかの結果をもたらすかどうか、それがきちんとした解決策であるかどうかはわかりません。

バンドルについて読み、有益なサイトや専門サイトにバンドルを使用することを考えています。「メイン」アプリケーション ディレクトリは、CMS をホストします。次に、site.com/ が cms になり、site.com/info は有益なサイトをホストするバンドルを示し、site.com/special は専門サイトのバンドルを示します。ドメイン ポインタを使用すると、一部のドメインは別のドメインのサイトを表示します。しかし、バンドルが site.com/(bundle) にある場合、これはバンドルでは機能しないと思います。

http_host によってコンテンツを区別するデータベースが既にあります。コードを構造化する方法 (および 35 個のドメインを適切なコード部分に向ける方法) を知りたいと思います。

ここにいる専門家が、この仕事を行うためのベスト プラクティスをいくつか教えてくれることを願っています。前もって感謝します。

4

1 に答える 1

0

3 つのプロジェクト (サイトの種類ごとに 1 つ) を保持することをお勧めします。

メインサイトと有益なサイトをあなたが提案した方法で (バンドルとして) 結合することもできますが、そうする唯一の理由はそれらの間で何かを共有することであり、デザインとコンテンツが異なるため、おそらくそうではありません. 「/info」に置くだけの問題である場合、これは適切に設計された仮想ホスト構成によって達成可能です (そのことについてあまり指示することはできません)。

ただし、代わりに情報サイトをhttp://info.site.comに置いておくことをお勧めします。異なるドメイン (またはサブドメイン) に異なる Web サイトを持つことは、私にとって「正しい」と感じています。これが正しいことだと主張する人もいますが、誰が知っていますか...

すべてのプロジェクト間で再利用できるライブラリがある場合は、それらをバンドルに入れ、そのバンドルをすべてのプロジェクトに含めることをお勧めします。

ここで、35 の特殊なサイトについて、Virtual Host のServerAliasを介してすべての URL を同じアプリケーションに向ける必要があります。

そのアプリケーションでは、URL に基づいてアプリケーションのいくつかの側面を構成できる環境を定義する必要があります。たとえば、Web サイトごとに異なるデータベースを定義したり、個別のログ ファイル、言語、/application/config で構成可能なものを作成したりできます。独自の構成を作成することもできます。

于 2013-03-07T18:21:46.133 に答える