3

そのため、Google によるサイトの閲覧方法に奇妙な結果が見られることに気付きました。1 つの問題は、次のような URL です。

http://example.com/randomstring

のすべてのデータとともに Google に表示されています

http://example.com/

だから私の考えでは2つの解決策があります。1 つは、誰かがメイン URL のサブ URL にアクセスするたびに 301 リダイレクトを追加し、それらを親URL にリダイレクトするか、単に 404 を与えることです。

考え?どこに送信したいかはわかっていますが、適切な Web エチケットは何ですか? 404または301?

4

5 に答える 5

8

存在しないものに対してリクエストが行われる限り、正しい http の方法は 404 になります。

301 は何かを移動するためのものですが、ここではそうではありません。

ただし、今日では、100% 正しい http 規則に従うことはめったにありません。コンテキストによっては、ページが見つからず、リダイレクトされたことを通知して、ユーザーをホームページにリダイレクトすると便利な場合があります。ただし、この場合は303 See Otherコードを使用する必要があります。

ただし、リダイレクトが発生したことをユーザーに知らせずにリダイレクトしないでください。これにより、ユーザーは何かがおかしいのではないかと混乱します。

于 2010-01-01T23:57:17.157 に答える
3

すでに投稿された回答はあなたの質問をうまくカバーしていますが、ソースに行くことには何らかの価値があるかもしれないと思いました: rfc 2616

10.3.2 301 恒久的に移動

要求されたリソースには新しい永続的な URI が割り当てられており、このリソースへの今後の参照では、返された URI のいずれかを使用する必要があります。リンク編集機能を持つクライアントは、可能であれば、Request-URI への参照をサーバーから返された 1 つ以上の新しい参照に自動的に再リンクする必要があります。特に明記しない限り、この応答はキャッシュ可能です。

新しい永続的な URI は、応答の Location フィールドで指定する必要があります。リクエスト メソッドが HEAD でない限り、レスポンスのエンティティには、新しい URI へのハイパーリンクを含む短いハイパーテキスト ノートを含める必要があります。

GET または HEAD 以外のリクエストへの応答として 301 ステータス コードを受信した場合、ユーザーが確認できない限り、ユーザー エージェントはリクエストを自動的にリダイレクトしてはなりません。これにより、リクエストが発行された条件が変更される可能性があるためです。

注: 301 ステータス コードを受け取った後に POST リクエストを自動的にリダイレクトする場合、一部の既存の HTTP/1.0 ユーザー エージェントはそれを誤って GET リクエストに変更します。

10.4.5 404が見つかりません

サーバーは Request-URI に一致するものを見つけられませんでした。状態が一時的なものか永続的なものかは示されていません。410 (Gone) ステータス コードは、古いリソースが永続的に利用できず、転送アドレスがないことを内部で構成可能なメカニズムを通じてサーバーが認識している場合に使用する必要があります。このステータス コードは、サーバーが要求が拒否された理由を正確に明らかにしたくない場合、または他の応答が適用できない場合に一般的に使用されます。

もちろん、これらの場合、RFC の実際のテキストよりも一般的な使用法が優先される傾向があります。世界中が一方通行である場合、ドキュメントを指差してもあまり役に立ちません。

于 2010-01-02T00:07:33.110 に答える
2

その場所には意味のあるリソースがなかったので、404 は正しいことだと思います。そのため、「永久に移動した」ものはなく (301 の意味です)、クライアントは自分の URL に問題があったことを知る必要があります。その間だけ変わったわけではありません。

しかし、私はまだ問題が何であるかをよく理解していません。Google がランダムな URL リクエストであなたのサイトにヒットしていますか? それは奇妙だろう。それとも、あなたのサイトが と同じ結果を表示しているということdomain.com/randomstringですdomain.com/index.htmlか? 変更する必要があることを 404 で考えます。

于 2010-01-01T23:57:33.000 に答える
0

では、あなたのサイトがあなたの制御なしにリダイレクトを行っていると言っているのですか?

301 (パーマネント リダイレクト) を使用するのは、そのページが元々存在していたが別の場所に移動した場合です。「住所変更カード」です。サイトを再構築するときの大きな命の恩人。ページが奇抜なランダム URL である場合は、404 を渡すことで、スパイダー (および人間もそうですが、あまり行わない) に、このページが存在しなかったことを伝えます。ユーザーに 404 ページを見せたくないという理由で、これに反対する人もいます。これらのコードは正当な理由で開発され、検索エンジンでよく使用されていると思います。

これらのステータス コードのいずれかを渡しても、「フレンドリー ページ」の提供が妨げられることはありません (ただし、通常、301 は、ブラウザが許可する場合にリダイレクトするだけです)。

覚えておくべきことは、Google は重複したコンテンツを好まないため、サイトが異なる URL で同じコンテンツを提供しているように見えないようにする必要があるということです。

于 2010-01-02T00:05:28.417 に答える
0

どの URL にアクセスする必要があるかがわかっている場合、それがまさに 301 の目的です。

于 2010-01-01T23:56:18.420 に答える