8768 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

c'est bon, ça roule! ça se redirige comme il faut!

avec <?php header('location: fr/index.php');?>

Je crois que j'avais commencé le code à la deuxième ligne...
J'avoue que je ne comprends pas trop pour autant pourquoi la page que tu as créée ne marche pas. Ton header est bien placé avant tout envoi de HTML, donc ça aurait dû marcher. Smiley ohwell
bah... Moi non plus...

Pour revenir au sujet, le code suivant fonctionne:

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 
 
if (strcmp($lang, 'nl') === 0)  ;
 
    $index = 'fr/index.php'; 
 
    header("Location: $index",TRUE,301);


Je suis redirigé vers http://127.0.0.1:8888/supersite/fr/index.php

C'est bon jusque la,?.
Modifié par FranZz (29 Apr 2010 - 14:10)
Presque !
Une toute petite bêtise de rien du tout : tu as un point-virgule qui se balade après le if. Du coup, la ligne suivante est exécutée sans tenir compte de la condition. En gros tu fais :
Si $lang vaut 'nl' Alors -rien-;
$index vaut 'fr/index.php';
Et du coup il faudrait remplacer ton '/fr/index.php' par 'nl/index.php', d'ailleurs, puisque tu veux être redirigé vers nl/index.php si $lang vaut 'nl'.
Modifié par phpdoesnotcare (29 Apr 2010 - 14:24)
Cool!
Alors, avec le code modifié:

[code=php ]
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

if (strcmp($lang, 'nl') === 0)

$index = 'nl/index.php';

header("Location: $index",TRUE,301);[/code]

J'exécute ma page, et il ne se passe rien, car je suis en fr c'est bien ça?

Par contre, j'essaie de tester en nl.
Je vais dans mes préférences Google, ça affiche tjs ma page en fr même quand ma langue par défaut donc, sur Google est le nl...

5 min après, je donne comme valeur à ma variable 'nl', c'est ok, çava sur le nl
5 min après, je donne comme valeur à ma variable 'ca', c'est ok, çava sur le fr

Bon, ben c'est cool, ça roule!

Merci bien en tout cas! Smiley lol Smiley lol
Modifié par FranZz (29 Apr 2010 - 14:47)
Pages :