J'ai testé la solution proposé avec ceci
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<?php
$vraie_url = $_SERVER['REQUEST_URI']; //url afficher par le lien
$url = $toto['nom']; // appel du nom correspondant à l'id
$id = $toto['id'];// appel de l'id correspondant au nom
$rep = '/beta/'; //répertoire de test
#Mise en forme url
$urltested = $rep .$url.-$id; // url correspondant à l'id affiché
if ($vraie_url != $urltested) {
// On redirige
header('301 Moved Permanently', false, 301);
header('Location: ' .$urltested); //redirection
echo "url rewrité";
} ?> |
Sous Wamp en local, cela marche bien car si je modifie l'id, le nom associé est rechargé et correspond à présent ! ![:D](https://www.developpez.net/forums/images/smilies/icon_biggrin.gif)
En ligne cela me plante avec une internal error (erreur 500). Ma page produit lors de l'appel par le lien s'affiche correctement, mais si je modifie l'id (comme en local), j'ai cette erreur 500 !!!
(j'ai bien sur viré le répertoire beta)
Si je supprime la ligne
<?php header('301 Moved Permanently', false, 301);?>
, apparemment cela se passe bien...
Une idée de ce qui se passe ?
Merci pour ta patience.
Partager