PHPのLocationのURLに日本語URLを指定してリダイレクトする方法

投稿者: Anonymous

phpのheader関数でリダイレクトの指定をしているのですが、
http://example.com/あいうえお/かきくけこ
などの日本語が入っているURLにリダイレクトされません。

$redirect =  'http://example.com/あいうえお/かきくけこ';

if(!empty($redirect)){
    header("Location: 0; URL= ".$redirect );
}

どなたかご教示いただければと思います。
よろしくお願いいたします。

解決

2箇所を修正する必要があります。一つはuworkさん指摘 urlencoe、もう一つはLocationヘッダの書式です。0; URL= はMETA refreshの際の書式ですので、Locationヘッダを使う場合は直にURLを書きます。
以下の様な感じになります。

$redirect =  'http://example.com/' . urlencode('あいうえお') . '/' . urlencode('かきくけこ');

if(!empty($redirect)){
    header("Location: ".$redirect );
}
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *