私のウェブサイトに最適なURL構造を理解するのに助けが必要です。ウェブサイトには、ユーザーとビジネスのためのページがあり、それぞれにカスタムプロフィールのURLを付けたいと思います。ここに私が思いついた解決策があります:
解決策1:
User: example.com/johndoe
Business: acmecorporation.example.com
解決策2:
User: example.com/johndoe
Business: example.com/uk/acmecorporation
*uk is the country of the business
解決策3:
User: johndoe.example.com
Business: example.com/acmecorporation
URL:sで関数を示したいので、最善の方法はURLで実際にその関数を入力することです。
私のおすすめ:
User: dummy.com/user/johndoe
Business: dummy.com/business/acmecorporation
編集:このスレッドの別の回答に、10MAYによって作成された優れたポイントを追加します。なぜサブドメインを使用するべきではないのかについてです。
また、サブドメインは主に、プライマリドメインのウェブサイト/ビジネスオーナーから提供されるさまざまな製品に切り替えるために使用されます。
それは完全にあなたが主にウェブサイトでターゲットにしているものに依存すると私は言うでしょう。主な目的がより多くの社会的なつながりである場合、次に進む最善の方法は
ユーザー:dummy.com/johndoe
ビジネス:dummy.com/business/silversolutions
一方、ウェブサイトが主に人々ではなく人々にビジネス情報を提供することに焦点を合わせている場合。私はあなたが一緒に行くべきだと言います
ユーザー:dummy.com/user/johndoe
ビジネス:dummy.com/silversolutions
サブドメインシステムは最初はクールに見えますが、Googleランキングではサブドメインが多すぎるサイトは選択されないので、サイトで実際にビジネスオーナーにプレミアム感を与えたいと思うまでは、サブドメインシステムを避けることをお勧めします。
また、サブドメインは主に、プライマリドメインのウェブサイト/ビジネスオーナーから提供されるさまざまな製品に切り替えるために使用されます。
それが私の提案でしょう
@ 10MAY サブドメインはここでは適切ではないことに同意します。
サブドメインのないあなたの唯一の解決策はこれです:
User: example.com/johndoe
Business: example.com/uk/acmecorporation
*uk is the country of the business
しかし、なぜ国が突然それほど重要なのですか(他の例ではそうではありませんでした)。
標準のRESTアプローチを使用する場合、例は次のようになります(ユーザーとビジネスが完全に別のエンティティであると想定します[*]):
User: example.com/users/johndoe
Business: example.com/businesses/acmecorporation
ユーザーは自分が何を扱っているかを直接知っているため(johndoe
はユーザー、acmecorporation
はビジネス)、バックエンドの観点(example.com/users/johndoe
は、そのユーザーを取得/変更するためのエンドポイントですexample.com/users/
すべてのユーザーをリストするか、新しいユーザーを追加するためのエンドポイント)。
[*]そうでない場合(たとえば、ユーザーは常にビジネスに属している場合)、次のようなものがより適切です。
Business: example.com/businesses/acmecorporation
User: example.com/businesses/acmecorporation/users/johndoe
ユーザーがビジネスを「所有」している場合:
User: dummy.com/johndoe
Business: dummy.com/johndoe/acmecorporation
これにより、ユーザーはURLで関係を確認できます。
また、URLにバージョンタグ/識別子を含めて、後で、将来誰かが新しい方法で物事を進めようという明るいアイデアを思いついたときに、(古い)URLが壊れる必要がないようにしてください。ユーザーはそれを嫌います。
User: www.example.com/apiv1/users/johndoe
Business: www.example.com/apiv1/businesses/acmecorporation
apiv1
以外のフレーズを使用することもできますが、この役割を果たす部分をスキップしないでください。