- 締切済み
GETでリダイレクトしたURLから&(アンパサンド
PHPで、URLをGETでリダイレクトしたのですが、そのURLから&(アンパサンド)以降の文字がすべて消えてしまうようです。 str_replaceによるエスケープなど、色々試みたり調べてみたのですが、上手くいかず、良い解決策がみつかりませんでした。 もしわかる方がおられればお願いします。 同時に、.htaccessによるRedirectMatchを使用して可能にならないかとも思っています。 URLはかなりの数があって、例えば http://www.google.co.jp/search?hl=ja&source=hp&biw=1064&bih=801&q=testtesttest&aq=f&aqi=&aql=&oq= といったURLを数十個すべてリダイレクトさせようとしています。 URLは今後も増えていく予定です。 http://www.google.co.jp/ の以降に&があるURLはすべてエスケープして、きちんと「&」以降も送信させるようにしたい場合に、どのように指定すればいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
GETのクエリー文字列も含めてリダイレクトしたいということなら <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.example.com$_SERVER[REQUEST_URI]"); ?>
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 >PHPで、URLをGETでリダイレクトしたのですが 現在どのような処理になってるんですかね? 何をしたいのか。 今、何をしているのか。 ちょっと文面だけで、判断できないです・・・すみません。 >同時に、.htaccessによる .htaccessを使うなら、mod_rewriteでよくないですか? RewriteRule XXXXX XXXXX [QSA] とすれば、GETパラメータは引き継がれますが?
- bm_hiro
- ベストアンサー率51% (200/388)
urlencode()してみては如何でしょうか? http://php.net/manual/ja/function.urlencode.php RedirectMatch に関しては、さっぱり分かりません。