Créer une redirection 301

Nouveau WRInaute
Bonjour,

Je cale sur une redirection, alors je cherche de l'aide.

C'est sur un Agenda.

j'ai des URL construites comme cela, qui mène à des événements quelque soit la région.

www.nomdedomaine.fr/agendadessorties/ ici le nom de l'événement

Et j'ai des autres menus comme suit, qui donne ces URL menant à une région.

www.nomdedomaine.fr/régionA/ici le nom de l'événement

www.nomdedomaine.fr/régionB/ici le nom de l'événement

Le souci c'est qu'un événement que l'on créé du coup dans le composant se retrouve

Dans l'Url avec les dossier "agendadessorties" et aussi dans sa région, soit "régionA" ou "régionB"

Cela donne deux menus qui mènent du coup à la même page.

Aussi je voudrais supprimer le général c'est à dire le dossier "agendadessorties" et pointé vers la "régionA" ou "régionB", en fonction d'ou se trouve l'événement.

Mais comment rediriger de façon certaine, car si l'on par exemple

www.nomdedomaine.fr/agendadessorties/ici le nom de l'événement (en régionA)

On doit le mettre dans www.nomdedomaine.fr/régionA/ici le nom de l'événement

En fait comment peut on rediriger vers le bon dossier soit "régionA" ou "régionB", en fonction de l'événement ?

Je ne sais pas si vous aurez compris, mais un par un je saurai faire avec le titre de l'événement car moi je sais dans qu'elle région il est pour faire la bonne redirection mais l'écrire de façon générale je ne sais même pas si c'est possible.

Merci d'avances pour votre aide et conseils...
 
WRInaute accro
Le problème c'est que votre url (www.nomdedomaine.fr/agendadessorties/ ici le nom de l'événement) est déjà une réécriture, donc le RedirectPermanent ne fonctionnera pas.

Le plus simple c'est de laisser Apache faire sa réécriture et de continuer en PHP avec un code qui vous permet de gérer 1 par 1 chacune de vos redirections :
PHP:
<?php
 // www.nomdedomaine.fr/agendadessorties/ici le nom de l'événement (en régionA)
 if ( preg_match('#/agendadessorties/(.*)#s',$_SERVER["REQUEST_URI"], $match ) )  {
              if( strstr($match[1] ,'le nom de lévénement)' ) != FALSE )  {
                         header('Status: 301 Moved Permanently', false, 301);
                         header("Location: https://exemple.com/regionA/".$match[1]."");
                         exit;
        }
}
?>
 
Nouveau WRInaute
Bonjour,

Merci pour votre réponse.

En fait (www.nomdedomaine.fr/agendadessorties/ ici le nom de l'événement) est un menu créer dans le composant en question qui mène à l'ensemble des événements et cela peu importe la région.

Le composant permet d'utiliser un menu menant vers chaque région, ou vers l'ensemble des régions.

Le problème c'est que les deux ont été utilisé et que chaque fois qu'est créé un menu on place même temps l'événement sous de url différentes et ce n'est pas bon...

Aussi pour vous dire que votre solution en fait est bonne mais je tenais à vous préciser ce qui se passe.

Et pour vous dire je ne m'y connais pas assez pour placer ou il faut, votre code...

Mais dans tous les cas il n'y a pas eu de redirection, alors je ne sais que faire...
 
WRInaute accro
c'est un effet de bord d'un composant CMS ?

aussi pourquoi veux tu changer ? Vu qu'en référencement avoir plusieurs urls avec des ancres différentes qui pointent sur la même page, c'est très bien.

ps : le code que je t'ai donné se met dans le head.php
 
Discussions similaires
Haut