web-dev-qa-db-ja.com

複数のディレクトリがあるWebサイトのURLパス構造

大量のコンテンツを含む複数のディレクトリを含むWebサイトを作成しています。

今のところ、URLを次のようにカテゴリに分けています。

www.example.com/student/
www.example.com/student/student-name/
www.example.com/student/student-name/biography
www.example.com/student/student-name/image-gallery/
www.example.com/student/student-name/image-gallery/gallery-name-1
www.example.com/student/student-name/image-gallery/gallery-name-2
www.example.com/student/student-name/contact
www.example.com/teacher/
www.example.com/teacher/teacher-name
www.example.com/teacher/teacher-name/biography
www.example.com/teacher/teacher-name/image-gallery/
www.example.com/teacher/teacher-name/image-gallery/gallery-name-1
www.example.com/teacher/teacher-name/image-gallery/gallery-name-2

多くの教師、学生、ギャラリー、ビデオなどがあります。

同じ方法で作成されたカテゴリがいくつかありますが、オンラインにする前に、これが最良の方法であるかどうかを確認したいと思います。

10
Azz Kawa

これは適切なURL設計です。

  • URL  persistentにすることができます(変更される可能性のある部分は含まれていません。名前の変更はまれです)。
  • URLは記述的です(ユーザーはURLを読むことができ、ページの内容がわかります)。
  • URLは browsable です(ユーザーはパスセグメントを右から左に削除できますが、404は表示されません)。

また、 「不要な」部分 (たとえば、人物/ギャラリー名の不可解なID)を含まないことも良いことです。もちろん、これは、重複する人名(整数を追加する場合があります)または同じ人の重複するギャラリー名(これらを禁止する場合があります)などのEdgeケースを処理する必要があることを意味します。

/teacherにアクセスすると、ユーザーはすべての教師/生徒の何らかのリストを取得すると想定しています。 /student。この場合、おそらく複数形/teachers*および/students*を使用します。

/teachers
/teachers/john-doe
/teachers/john-doe/biography
…

しかし、これは個人的な好みです。単数形でも結構です。


注:この例では、次のように記述しています。

/student/student-name/
/teacher/teacher-name

それは間違いだと思います。あなたはoneのバリエーションに固執するつもりです:末尾のスラッシュなしで。個人的には、末尾にスラッシュのないバリアントを好むでしょうが、これも個人的な好みです。

9
unor