5

HTMLページからリダイレクトする通常の方法は、次のように聞いたことがあります

<meta http-equiv="REFRESH" content="0;url=page.html">

最新の HTML では廃止されました。それは本当ですか、そうでない場合、リダイレクトする他の方法はありますか?

4

4 に答える 4

5

リダイレクトする適切な方法は、リダイレクトヘッダーを送信することです。200 OKステータスを適切な3xxステータスに変更する必要があります。Location: http://yourRedirectURL次に、ヘッダーも含める必要があります。実装は、バックエンドで使用しているプログラミング言語によって異なります。

于 2012-11-01T02:09:55.350 に答える
2

技術的には非推奨ではありませんが、これは「非推奨」という疑似用語が「仕様」で不適切に使用されているためです。メタリダイレクトメカニズムは、HTML4.01では「すべきではない」と説明されています。

"ノート。一部のユーザーエージェントは、METAを使用して、指定された秒数後に現在のページを更新し、別のURIに置き換えるオプションをサポートしています。一部のユーザーはページにアクセスできなくなるため、作成者はこの手法を使用してユーザーを別のページに転送しないでください。代わりに、自動ページ転送はサーバー側のリダイレクトを使用して実行する必要があります。」</ p>

ただし、HTML5ドラフトでは、例はさまざまな使用法に関するものですが、そのようなことは言わずにメタリフレッシュメカニズムについて説明しています。これはそれをより良い考えにするものではありません。適切なHTTPリダイレクトが行われるようにサーバーの動作に影響を与える方法がない場合を除いて、アドレスを新しいアドレスにリダイレクトするために使用しないでください。その場合、メタリダイレクトが機能しない状況では、新しいアドレスへの通常のリンクをドキュメント本文に追加することをお勧めします。

于 2012-11-01T06:25:54.510 に答える
2

PHP を使用している場合は、次のコードを使用できます (ブラウザーへの他の出力の前に)。

<?php header('Location: http://example.com'); ?>
于 2012-11-01T02:06:15.733 に答える
2

Locationとにかくゼロタイムアウトを使用していると仮定すると、ヘッダーを使用することはシームレスであり、誰かを別のページにリダイレクトするためのより効率的な方法です。

最初にランディング ページに配置してからリダイレクトする場合を除き、Location ヘッダーを使用します。

また、ロケーション ヘッダーには、アクセス先の完全修飾アドレスを指定する必要があり、サイトベースの絶対パスまたは相対パスを使用しないことが指定されていることにも注意してください。例えば

Location: http://www.google.com/

それ以外の:

Location: /login
Location: ../../home
于 2012-11-01T01:28:11.303 に答える