Bonjour,

J'ai un souci lors d'un redirection avec une réécriture d'url:
Je fais un header location en cas de mauvaise url "chipotée" par l'utilisateur comme ceci:

Il fonctionne impecc mais dès que je change mes url pour la récriture, les liens fonctionnent mais si je ne mets pas le paramètre de la langue, je suis renvoyé vers ma page 404.

Avez vous une idée?
Merci d'avance

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
if(!isset($_GET['section']) || empty($_GET['section']) || 
   !isset($_GET['lang']) || empty($_GET['lang']) || 
   $_GET['lang'] != $_SESSION['lang_browser']){
        header("Location:?lang=".$_SESSION['lang_browser']."&section=".$row_login->url);
}

Le header en url rewrite:

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
header("Location: ".$_SESSION['lang_browser']."/".$row_login->url);

Sans la réécriture, mes liens ont cette structure:

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<a href="?lang=en&section=events">Events</a>
<a href="?lang=fr&section=evenements">Evénements</a>

Avec url rewrite je fais ceci:

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<a href="en/events">Events</a>
<a href="fr/evenements">Evénements</a>

Mon Htaccess comme ceci:

Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Options +FollowSymlinks
RewriteEngine On
ErrorDocument 404 http://localhost/directory_mysqli/cockpit/404.php
RewriteRule ^([a-z]{2})/([a-z\-]+)$ index.php?lang=$1&section=$2

David