Wpis z mikrobloga

#php #programowanie

#php
Jest oto sobie taki kod:

Hello World Script

php
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
switch($lang) {
case "pl":
header("Location: http://localhost/strona/pl");
break;
default:
header("Location: http://localhost/strona/wordpress");
break;
}
?

I wszystko niby ok, proste jak konstrukcja cepa, ALE.
Kod działa w Edge, a Firefox ani Chrominium ni ch*ja. WTF?
  • 10
  • Odpowiedz
@arct2: W ACCEPT LANGUAGE niekoniecznie dostaniesz samo === "pl" - najczęściej coś w stylu "pl-pl". Niby mało oczywiste, ale dla krajów anglojęzycznych całkiem naturalne (en-us, en-gb).

Weź sobie puść die($lang) to sam zobaczysz.
  • Odpowiedz
@TwigTechnology: mam pewien trop. Firefox wysyła nagłówki w stylu Accept-Language: pl,en-US;q=0.5 i to powoduje uruchomienie opcji default, tyle że nie mam pomysłu jak wziąć tylko ten pierwszy język
  • Odpowiedz