1

サンプル Web サイトにユーザーが作成したブログ投稿が含まれている場合、これは各投稿の URL を構成する簡単な方法です。

www.example.com/jane-smith/my-first-blog-post

ユーザーがユーザー名 (ユーザーごとに一意) またはブログ投稿のタイトルを変更した場合、更新するには URL を変更する必要があります。たとえば、上記のユーザーがユーザー名を変更した場合、URL は次のようになります。

www.example.com/jane-wilson/my-first-blog-post

人々が古い URL を使用しようとすると、機能しないという問題が発生します。ユーザー名やブログ投稿名を変更する機能を削除せずに、既存の Web サイトでこの状況を回避または回避するにはどうすればよいでしょうか?

4

1 に答える 1

0

一般的な方法は、変更されない一意の ID (この場合はユーザーと投稿) を含めてから、現在の/正規のバリアントに 301 リダイレクトすることです。

これは、たとえば Stack Overflow が行っていることです。

質問のタイトルを変更すると、ID ( 36463097) は残り、スラッグは変わります。

  1. https://stackoverflow.com/questions/36463097/handling-urls-that-change
  2. https://stackoverflow.com/questions/36463097/handling-urls-that-might-change

ユーザー名を変更すると、ID ( 2961662) は残り、スラッグは変わります。

  1. https://stackoverflow.com/users/2961662/psidhu
  2. https://stackoverflow.com/users/2961662/john-doe

これにより、同じユーザー名を持つユーザーを持つこともできます (許可したい場合):

  • http://example.com/23/john-doe
  • http://example.com/42/john-doe

欠点

これは最適なURL 設計ではありません:

  • /users/2961662/psidhuほど美しくない/users/psidhu
  • そのような不可解な ID を持つ URL を覚えるのは難しいです。
  • このような ID は意味がないため、理想的には URL の一部にはなりません。

すべての変更を追跡し、一度登録されたユーザー名をブロックします。したがって、私が として始めてjohnから名前を に変更するとjohn-doe、他の誰も登録できなくなりますjohn

これは電子メール アドレスの良い方法であり、ユーザーとの直接的なコミュニケーションを可能にするすべてのサービスの良い方法でもあると思います。ユーザーがそのユーザー名の以前の所有者宛てのメッセージを受け取った場合、それは深刻な問題です。他の誰かが以前に登録したためにユーザーがお気に入りのユーザー名を取得できない場合、せいぜい迷惑です。

したがって、ユーザーごとに以前のユーザー名を追跡し、投稿ごとに以前のタイトルを追跡してから、現在の/正規のものに 301 リダイレクトすることができます。

于 2016-04-07T19:01:08.227 に答える