メインコンテンツまでスキップ
バージョン: 20 R7 BETA

WEB SEND HTTP REDIRECT

WEB SEND HTTP REDIRECT ( url {; *} )

引数説明
urlText新しいURL
*演算子指定されている場合 = URLは翻訳されない 省略されている場合 = URLは翻訳される

説明

WEB SEND HTTP REDIRECTコマンドを使用すると、 URLをほかのURLへ転送することができます。

引数 url は、リクエストをリダイレクトすることができる新しいURLを格納しています。この引数がファイルへのurlである場合、WEB SEND HTTP REDIRECT ("/MyPage.HTM") のようにファイルへの参照を保持していなければなりません。

このコマンドは同じメソッド内にあるデータを送るコマンド (WEB SEND FILEWEB SEND BLOBなど) より優先されます。

また、このコマンドを使用すると、リクエストを他のWebサーバーへリダイレクトすることも可能です。

4DはURLの特殊文字を自動的にエンコードします。 * を渡すと、4Dはそれらをエンコードしません。

このコマンドが送信するHTTPステータスコードは302: Moved Temporarilyです。"301 Moved Permanently"ステータスを送信したい場合は、WEB SET HTTP HEADERを使用して、"*X-STATUS"フィールドに”301”*を設定します。

例題

このコマンドを使用して、4D上でスタティックページを用いてカスタムリクエストを実行します。以下の要素をスタティックなHTMLページに設定するとします。

注: POSTアクション "/4DCGI/rech" は、テキストエリアとOKCancelボタンに連携されています。

QR SET DESTINATIONに以下のコードを挿入します。

 Case of
    :($1="/4DCGI/rech") // 4DがこのURLを受信したら
  // OKボタンが使用され、 ‘name’ フィールドにValueがある場合
       If((bOK="OK")&(name#""))
  // 同じメソッド内のはるか下に置かれた検索コードを
  // 実行するためにURLを変更する
          WEB SEND HTTP REDIRECT("/4dcgi/rech?"+name)
       Else
  // そうでなければ、始めのページに戻る
          WEB SEND HTTP REDIRECT("/page1.htm")
       End if
       ...
    :($1="/4DCGI/rech?@") // URLがリダイレクトされたら
       ... // 検索コードをここに入れる
 End case