0

私はクライアントの1人のためにウェブサイトのコンテンツ管理システムを構築しているところです。これは高度にカスタマイズされたシステムであるため、「棚の」ソリューションを使用することはできません。

クライアントがその場でWebサイトにページを追加できるようにする必要があります。ここには2つのオプションがあります。(1)www.mycompany.com/page.aspx?catID=5&pageID=3の形式でデータベース駆動型ページを作成します(カテゴリとページIDを使用してデータベースにクエリを実行し、データを取得して表示しますページ上)-または-(2)管理システムがwww.mycompany.com/company/aboutus.aspxやwww.mycompany.com/company/company_history.aspxなどの静的ページを作成できるようにします。

前者は実装がはるかに簡単ですが、後者はユーザーとGoogleの両方にとって優れていると思います。

私の質問は(最後に):(1)後者がより良い解決策であることに同意しますか?(2)そのような解決策を実装するための最良の方法は何ですか?FileSystemを使用して各ファイルを作成および更新する必要がありますか(つまり、サイトの管理システムでは、ユーザーがページ/ファイル名、ページタイトル、およびコンテンツを指定し、これらのパラメーターに基づいてその場でページを作成する必要があります)?もっと良い方法はありますか?

ありがとうございました!

4

5 に答える 5

4

素敵なURLを持つデータベース駆動型のページを持つことは完全に可能です。StackOverflow自体は素晴らしい例です-この質問のURLはhttp://stackoverflow.com/questions/1119274/adding-pages-on-the-fly-with-a-cms-systemですが、ページは静的HTMLではなくデータベースから構築されています。

于 2009-07-13T12:59:37.043 に答える
2

最初の解決策を使用しますが、カスタム リクエスト ハンドラを使用してアドレスをマスクします。基本的には、各ページに一意の文字列 ID ( などabout-us) を指定してから、すべてのリクエストを受け取るリクエスト ハンドラーを使用して、データベース内でこの特定のページを見つけてレンダリングします。

追加情報については、この記事を参照してください (ASP.NET でカスタム http ハンドラーをグーグル検索したときに見つかりました)。その記事には、次のハンドラーが追加されています。

 <add verb="*" path="*.piechart" type="PieChartHandler"/>

CSS、画像、および JavaScript に使用される特定のメディア パスを除く、すべてのパス ( )をキャッチすることをお勧めします。*

その他のリソース:

于 2009-07-13T13:02:01.867 に答える
0

私があなたの所にいるなら、私は静的なページを避けたいと思います。動的データ、MVC、および適切な計画を立てることで、長い道のりを歩むことができます!

必要なことは、mvc の各ビュー/コントローラーが使用できるいくつかまたは多数のテンプレートを作成することです。コンテンツの責任者は誰でも、動的データ エンティティを通じてコン​​テンツを処理できます。

于 2009-07-13T13:04:40.963 に答える
0

既存のアドバイスは多かれ少なかれ健全ですが、コメンテーターは 1 つの要因を考慮に入れていませんでした。確かに、あなたはあまり詳細を示していません。これらのページは作成後に編集するものですか、それとも 1 回限りの作成ですか? 後者の場合、静的ページを生成する計画は、彼らが示唆するほど悪くはありません。フラットなコンテンツしか提供できないのに、データベース スキーマやキャッシングについて考える必要さえあるでしょうか。

それはおそらくかなり活気のない、道の終わりのページになりますが、それがあなたが望むものなら...

于 2009-07-20T16:54:48.807 に答える