• ベストアンサー

リダイレクト後のURLにしたい

Ruby on Railsで controller内で、何か処理を行った後 redirect_to "http://どこかのサイト" とリダイレクトした場合に ブラウザのアドレス欄ではリダイレクト前のURLのままで 表示はリダイレクト先となってしまいます。 アドレス欄の方もリダイレクト先にしたいのですが、何か方法ありませんか?

  • Ruby
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hojiyoshi
  • ベストアンサー率61% (8/13)
回答No.1

redirect_toを利用すると、URL自体も書き換わるはずなのですが・・・ →HTTP 301(302だったかも)のリクエストを送ります。 render_to "xxxx"とすると、表示だけが変わり、URLは変わりません。 該当controllerにて、本当に意図する処理(redirect_to)に流れていますか?

ks_key
質問者

お礼

え~っと、日を跨いでやり直してみたら URLが書き換わってました。ブラウザの調子がその時は悪かったのかもしれません。 原因がはっきりとはわかりませんが 解決となりました。ご回答いただきありがとうございます。

関連するQ&A

  • 相対URLによるリダイレクト

    Locationヘッダに転送先のURLを指定する際に、相対URLをフルパスで指定すると内部リダイレクトになりますが、絶対URLを指定せずにブラウザにリダイレクトさせる方法はないでしょうか。 具体的にはこうです。 URL http://www.xxx.com/dir/from.cgi という位置にスクリプトがあるとして、ドキュメントルートにある「to.html」にリダイレクトさせたい場合、 Location: http://www.xxx.com/to.html と出力するのではなく、 Location: /to.html と出力すると、内部リダイレクトによってブラウザに返されることなく、つまりブラウザの「アドレス」欄はhttp://www.xxx.com/dir/from.cgiのまま「to.html」の内容が表示されるわけですが、そうではなく前者のように動作させたいのです(ブラウザに返してリダイレクトさせたい)。 目的は、ドメインなど絶対URLが変更になっても汎用的にスクリプトを移行できるようにしたい(絶対URLを書かなくて良いようにしたい)のですが、内部リダイレクトでは表示されるHTMLの内容によって、たとえば<img src="./image.gif">など相対パス指定の参照が正しく表示されないためです。 どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • URLのリダイレクトについて

    現在イントラネット上でWebページ公開のテストを行っています。 以下の構成を考えいます。  ・ドキュメントルート直下にindex.htmlを配置  ・ドキュメントルート/HOGE にindex.htmlを配置 (1)http://ドメイン/  のURLでブラウザを立ち上げると、index.htmlが正しく表示されます。 次に (2)http://ドメイン/HOGE/  のURLでブラウザを立ち上げると、HOGE配下のidex.htmlが正しく表示されます。 次に (3)http://ドメイン/HOGE  のURLでブラウザを立ち上げると、HOGE配下のidex.htmlが表示されますが、  URLが 『http://IPアドレス/HOGE/ となってしまいます。 IPアドレスが表示されないようにする方法はあるのでしょうか? いろいろ調べてみて、METAタグ等を使って、http://ドメイン/HOGE/ にリダイレクトするように したのですが、Webブラウザが無限ループしていまいます。 何かいい方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • htaccessで同一サーバ内リダイレクト処理

    LAMP環境にてウェブページの作成を行っております。 htaccessは使用できる環境になっておりまして、こちらを使用してリダイレクト処理を行いたいと思っております。以下のようなリダイレクトです。 http://www.hoge.jp/fuga ↓ http://www.hoge.jp/redirect/index.html このような形のリダイレクトを行うため、以下のような記述をhtaccessに記述しました。 Redirect temp http://www.hoge.jp/fuga/ http://www.hoge.jp/redirect/index.html すると、リダイレクト先のURLが http://www.hoge.jp/redirect/redirect/redirect/・・・/index.html ridirectがループしてしまい、正しいURLにリダイレクトすることができません。 リダイレクトを解消するためのhtaccessの設定方法など分かりましたら、 ご教授いただけますでしょうか。 よろしくお願い致します。

  • 動的URLを静的URLへリダイレクト

    サーバの移転にともない、古いURLから新しいURLへリダイレクトさせる作業を行っています。 旧:http://aaa.bbb.com/default.asp?year=yyyy&month=mm ↓ 新:http://mmm.nn.co.jp/yyyymm しかし上記のようにパラメータを持っているURLはうまくリダイレクトされません。 今回の場合、動的ページを静的ページに見せるのではなく、URL欄も表示も静的ページに遷移させます。 この作業にはISAPI_Rewriteを使っていますが、ISAPI_Rewriteで検索してもmod_rewriteで検索しても、静的URLから動的URLへのリダイレクト(URLは静的で表示が動的ページの内容)しかでてきません。 そもそも正規表現に「?」を入れるとリダイレクトできないのか(?がエスケープされていない気がします)、書き方が間違っているのなら正しい書き方を教えていただけると助かります。 [現在使っている記述] RewriteRule ^aaa/bbb.asp\?year=(.*)&month=(.*)$ http://one.case.com/ddd/$1$2 [R,L] よろしくお願いいたします。

  • redirect先でredirect元の変数を参照

    redirect_to先のviewで、redirect_to元のデータで何の処理を行ったか目視したいので 簡単に内容を表示させたいのですが リダイレクト元のコントローラの変数を、リダイレクト先のviewに渡すにはどうしたらいいのでしょうか。 --api_controller.rb class ApiController < ApplicationController  def foo   arr = [1,2,3,4]   #arrをいろいろと処理   redirect_to :controller => "top", :action => "bar"  end end --top_controller.rb class topController < ApplicationController  def bar   #ここで@arr = arrしたい  end end top/bar.html.erbもしくはbarコントローラでarrを受け取ることは可能ですか?

    • ベストアンサー
    • Ruby
  • リダイレクトさせたい

    よろしくお願いしますm(_ _)m 少し前から、趣味でプログラミングをやり始めました。 趣味なので、、しばらく勉強していますが、難しいことはまだ理解できていない状態です。 リダイレクトというものに興味を持ち、今いろいろなサイトをみています。 テキストエリアから、例えばですが、 hanabi taikai というような文字列(テキストエリアは2行あるというイメージです) がインプットされ、取得してきて、 hanabi/taikai/ というURLを生成するとします。 生成されたURLに対して、リダイレクトのURLをくっつけてみようかなと 思っています。 (アンカータグで表示されるリンクURLは、hanabi/taikai/ のままで、 クリックすると、 hanabi/taikai?redirect に一瞬だけ飛び、 hanabi/taikai/ が表示されるようにしてみたいなぁと思っています) リダイレクトとやらの仕組みをまだ理解しきれていないので、 なにか変なことを書いているかもしれません。 初心者な質問と思いお恥ずかしいのですが・・・ やりたいことは、リンクのURLを生成したら、リダイレクトのURLはかくして遷移させる、ということに取り組んでみたいんです。 PHPの関数で、headerってのがありますが、これだとイメージしているような リダイレクトURLは見えていない状態にはならないようです。。 header以外に、何かそのような関数はないものでしょうか? 初めて投稿してみました。 説明がたどたどしいかもしれませんが、よろしくお願いします。

    • 締切済み
    • PHP
  • URLが勝手に書き変わってしまいます。

    URLが勝手に書き変わってしまいます。 WindowsVista & XP で確認しました。 URLをダブルクリックとかすると、ブラウザが認識して、ページが表示されますよね? その時、勝手にURLが書き変わってしまいます。 他のOSではどうなのかという報告または原因と対処方法をご教示願います。 試しに以下のURLを作ってみました(実在しませんが、それは問題ではありません) http://example.jp/hoge/b0b376f6f67beff0f426af333d49699246b11d36/foobar%40example%2Eco%2Ejp このURLの後ろの部分はメールアドレスがエンコードされています。 ダブルクリック等でブラウザを開いてみてください。そしてブラウザのアドレス欄を確認すると、 ドットが含まれていませんか? Ruby on Rails でシステムを構築中なのですが、 勝手にドットに戻されてしまうと routing エラーが出て困っています。 ダブルクリックではなく、URLをコピペで貼り付けると正常にアクセスできます。 クライアントのOS側の問題でしょうか?

  • URLのリダイレクトに関する質問です。

    URLのリダイレクトに関する質問です。 http://hoge.hogera.org/12345.html にアクセスした時に http://hoge.hogera.org/hoge.html?id=12345 を実行させるために ewriteEngine on RewriteRule ^([0-9)]+)\.html$ hoge.html?id=$1[R=301,L] としています。 実際にこれで問題なくhttp://hoge.hogera.org/hoge.html?id=12345にアクセスできます。 この時、ブラウザーで表示させるURLもhttp://hoge.hogera.org/hoge.html?id=12345 となってしまうのですが、これはもとのURL http://hoge.hogera.org/12345.html とするにはどうすればよいでしょうか?

  • file_get_contents でリダイレクトを知りたい

    file_get_contents(url) で、サイトのHTMLを取り込むことは問題なくでき、そのサイトにリダイレクト(Locationヘッダ?)が設定されていると、ちゃんとリダイレクト先のHTMLを取得することができるのですが、リダイレクトされたことや、リダイレクト先URLは、どのようにすれば知ることができるでしょうか。 得られたHTMLはリダイレクト先の内容なのに、私が作ったプログラムが把握しているURLはリダイレクト元のアドレスなので、不整合が起きてしまい困っています。 ポインタで結構ですので教えていただけると幸いです。

  • TurboLinuxでリダイレクトができない

    TurboLinuxで「.htaccess」を利用してURLリダイレクトができません。 下記のように記載してますが、「.htaccess」を登録したサイトにアクセスすると 「500 Internal Server Error」となります。 ----------------------------------------- Redirect permanent / http://www.****.jp ----------------------------------------- 記載方法が違うのであれば教えてください。

専門家に質問してみよう