8699


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

[code]

    $redirect =  'http://example.com/あいうえお/かきくけこ';
    
    if(!empty($redirect)){
        header("Location: 0; URL= ".$redirect );
    }
    
[/code]

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


CC BY-SA 3.0
2015-04-02T10:10:15.093
8690
2015-04-02T14:07:24.230
9128
question
php
PHPのLocationのURLに日本語URLを指定してリダイレクトする方法


日本語の部分をurlencode関数でURL用にエンコードしてやれば大丈夫かと思います。


CC BY-SA 3.0
2015-04-02T10:55:29.473
8692
2015-04-02T10:55:29.473
6072
8690
answer


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

[code]

    $redirect =  'http://example.com/' . urlencode('あいうえお') . '/' . urlencode('かきくけこ');
    
    if(!empty($redirect)){
        header("Location: ".$redirect );
    }
    
[/code]


CC BY-SA 3.0
2015-04-02T13:48:52.613
8699
2015-04-02T14:07:24.230
2015-04-02T14:07:24.230
781
781
8690
answer