使用iPhone 5S的用户无法在Laravel 5.2应用程序中打开任何页面。 我在日志中找到了这个:
UnexpectedValueException vendor/symfony/http-foundation/Request.php in getHost
Invalid Host "%D0%B3%D1%83%D0%B3%D0%BB.%D1%80%D1%84"
我有一个转储此HTTP请求,并且他确实有一个URL编码的域名:Host: %D0%B3%D1%83%D0%B3%D0%BB.%D1%80%D1%84
标头,而不是punycode版本xn--c1aay4a.xn--p1ai
这是Web服务器配置的问题还是什么? 感谢。
答案 0 :(得分:0)
发送标头的问题。您必须在pynucode中手动转换uri
$iWantRedirectTo = 'http://гугл.рф';
// http://xn--c1aay4a.xn--p1ai/
$uriWithPunycode = convert_to_punycode($iWantRedirectTo);
// It will work "Location: http://xn--c1aay4a.xn--p1ai/"
header('Location: ' . $uriWithPunycode);
// Safari will not convert itself
header('Location: http://гугл.рф');