私はURLルーティングに関する多くの議論と多くの素晴らしい提案を見てきました...しかし現実の世界では、私が議論されていないことの1つは次のとおりです。
- スペースと不正な文字を使用したわかりやすいURLの作成
- DBのクエリ
カテゴリとオプションのサブカテゴリを持つ記事がある医療サイトを構築しているとします。(1対多)。(どんな例でも使用できますが、医療分野には長い言葉がたくさんあります)
カテゴリ/サブ/記事の構造の例:
- あなたの一般的な健康(カテゴリー)
- ナチュラルヘルス(サブカテゴリー)
- あなたの体の免疫システムとそれが助けを必要とする理由。(記事)
- 植物やハーブは本当に解決策ですか?
- 栄養強化食品を食べるべきですか?
- ホメオパシー医学
- ホメオパシー医学とは何ですか?
- 健康的な食事
- あなたは一日に10杯のコーヒーを飲むべきですか?
- 有機野菜はそれだけの価値がありますか?
- バーガーキング®は悪ですか?
- 「フレンチカフェ」とかアメリカンコーヒーの方がヘルシーですか?
- ナチュラルヘルス(サブカテゴリー)
- 病気と状態(カテゴリー)
- 自己免疫疾患(サブカテゴリー)
- 人々の一番の殺人者はいくつかの病気です
- ヘルプを取得する方法
- 遺伝的条件
- 妊娠前の二分脊椎の予防。
- あなたは長生きする傾向がありますか?
- 自己免疫疾患(サブカテゴリー)
- Dr. FooBarの個人的な提案(カテゴリー)
- 漢方薬と自然療法についての私の考え(記事-サブカテゴリなし)
- なぜあなたはあなたの健康を気にする必要がありますか?
- 正しく食べて、良い食事をすることは可能です。
- 無輸血手術は成人しましたか?
このような構造では、次のようにすると、いくつかのLOOONGURLが作成されます。/{Category}/ {subcategory} / {Article Title}
さらに、#のような多くの違法な文字があります!?'é"など
したがって、質問は次のとおりです。
- 違法な文字やスペースをどのように処理しますか?(長所と短所?)
- データベースからこれを取得することを処理しますか
- 言い換えると、DBがアイテムを見つけてタイトルを渡すことを信頼しますか、それともすべてのタイトルをプルしてコード内のキーを見つけ、データベースに渡すキーを取得しますか(データベースへの2回の呼び出し)?
注:/ products / beverages /Short-Product-Name/のような素敵な例を常に目にします。醜い例を処理するのはどうですか^_^