Redirection d'une url à variable

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

Redirection d'une url à variable

Messagede Mojy le 20 Jan 2006 à 20:12

Dans le cadre de la modif d'un de mes sites je cherche à rediriger en R301 les anciennes url dynamiques du style :
Code: Tout sélectionner
http://www.url_du_site.com/article.php?lng=fr&pg=12

vers la nouvelle url en clair style :
Code: Tout sélectionner
http://www.url_du_site.com/dossier/page.php

Les nouvelles pages ne sont pas dynamiques, elles sont physiques, le site a changé de structure, je ne peux donc pas employer une méthode de rewriting classique.
Je souhaite en fait rediriger page (avec url à variables) pour page (physique).
Le site ne change pas de serveur non plus.

J'ai passé l'après-midi la dessus sans aucun résultat.
Merci d'avance.

@+ Mojy
Image
Un jour, je serais grand et si je continue à venir ici, peut-être malin... Aide-toi, phpBB-fr t'aidera...
Pas de demande de support par MP ni MSN, merci. Carpe Diem
Avatar de l’utilisateur
Mojy
Râleur en service
 
Messages: 13793
Inscription: 16 Déc 2002 à 03:41
Localisation: France (59)

Messagede Mojy le 21 Jan 2006 à 20:21

Ca n'a pas l'air de vous inspirer mon affaire. :?

@+ Mojy
Image
Un jour, je serais grand et si je continue à venir ici, peut-être malin... Aide-toi, phpBB-fr t'aidera...
Pas de demande de support par MP ni MSN, merci. Carpe Diem
Avatar de l’utilisateur
Mojy
Râleur en service
 
Messages: 13793
Inscription: 16 Déc 2002 à 03:41
Localisation: France (59)

Messagede Fly le 21 Jan 2006 à 20:49

J'ai pas vraiment compris où est exactement le problème.
Si tu peux ré-expliquer plus en détail ?
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Inscription: 12 Juin 2002 à 12:10
Localisation: Metz

Messagede Mojy le 22 Jan 2006 à 16:23

Bon, je réexplique.
Le site actuel est un CMS (Guppy), il génère donc ses pages dynamiquement à partir d'une bdd en fichiers texte sous la forme :
root/article.php?lng=XX&pg=ZZ
XX et ZZ étant une variable langue et une variable d'id d'article.

Le nouveau site n'est pas un CMS, le contenu est en dur, l'architecture a donc changé, les pages sont sous la forme :
root/dossier-1/page-1.php
root/dossier-1/page-2.php
root/dossier-1/page-3.php
root/dossier-2/page-1.php
root/dossier-2/page-2.php
root/dossier-2/page-3.php
etc.

Ce que j'essaie de faire c'est rediriger les urls de cette façon :
root/article.php?lng=XX&pg=1 vers root/dossier-1/page-1.php
root/article.php?lng=XX&pg=2 vers root/dossier-1/page-2.php
root/article.php?lng=YY&pg=12 vers root/dossier-2/page-1.php
root/article.php?lng=YY&pg=13 vers root/dossier-2/page-2.php
etc. d'une manière automatique.

Il y a la soluce de la page d'erreur qui redirige vers l'index, mais je trouve ça un peu hard pour les visiteurs et surtout, ça ne transmettra pas le bon PR et les anciennes urls ne seront pas supprimées des moteurs.

Les règles classiques de rewriting permettent de transformer
root/article.php?lng=XX&pg=ZZ en root/article-fr-1.php mais à condition de continuer à travailler avec le même CMS.

Ce que je cherche donc c'est soit une règle particulière de rewriting qui permette de changer du CMS à autre chose soit un bout de script qui irait dans la page article.php et qui détecterait les variables et ferait la redirection en R301 (redirection permanente) vers les nouvelles pages et ce page par page ou encore un couple htacess/pages.php qui permette de le faire comme avec les pages d'erreur.

Mais dans tous les cas je ne suis pas assez costaud pour me dépatouiller de ce problème. :wink:

Je précise que sur le site du CMS, il n'y a aucun renseignement autre que "applique les règles de rewriting" et qu'ils ne sont pas de chauds partisans de l'url rewriting. :(

Merci d'avance.

@+ Mojy
Image
Un jour, je serais grand et si je continue à venir ici, peut-être malin... Aide-toi, phpBB-fr t'aidera...
Pas de demande de support par MP ni MSN, merci. Carpe Diem
Avatar de l’utilisateur
Mojy
Râleur en service
 
Messages: 13793
Inscription: 16 Déc 2002 à 03:41
Localisation: France (59)

Messagede Fly le 23 Jan 2006 à 07:28

Ouais donc je vois 3 solutions, et tu dois déjà même les connaître.
La première c'est celle de la page d'erreur qui redirige, mais bon tu as dis plus haut ce que tu en pensais.

la deuxième c'est d'activer dans un .htaccess une option qui interprète les noms de dossier comme des fichiers, si ceux-ci existent, et dans ce même fichier tu traite ta redirection.

Ce qui reviens finalement au même que de faire ce traitement dans la page accueil.php de Guppy.

Y'a qu'à récupérer $_GET["pg"], et tu fais un
Code: Tout sélectionner
if ( isset($_GET["pg"]) )
{
   $pg = intval($_GET["pg"]);
   if ( $pg < 10 )
   {
      $dossier = 1;
      $page = $pg;
   }
   else
   {
      $dossier = $pg % 10;
      $page = $pg / 10;
   }
   header('HTTP/1.1 301 Moved Permanently');
   header('Location: dossier-'.$dossier.'/page-'.$page.'.php');
}


Ça devrais fonctionner.
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Inscription: 12 Juin 2002 à 12:10
Localisation: Metz

Messagede Mojy le 23 Jan 2006 à 13:27

Ok, merci fly, je vais tester ça.

@+ Mojy
Image
Un jour, je serais grand et si je continue à venir ici, peut-être malin... Aide-toi, phpBB-fr t'aidera...
Pas de demande de support par MP ni MSN, merci. Carpe Diem
Avatar de l’utilisateur
Mojy
Râleur en service
 
Messages: 13793
Inscription: 16 Déc 2002 à 03:41
Localisation: France (59)

Messagede Mojy le 23 Jan 2006 à 23:00

Ca fonctionne du tonnerre, c'est le pied. :lol:
Je n'ai pas fait exactement comme ton script parceque j'ai des noms de dossiers différents selon les sections, mais la base que tu m'as donnée m'a ouvert la voie.

Encore merci de ton aide Fly. :wink:

@+ Mojy
Image
Un jour, je serais grand et si je continue à venir ici, peut-être malin... Aide-toi, phpBB-fr t'aidera...
Pas de demande de support par MP ni MSN, merci. Carpe Diem
Avatar de l’utilisateur
Mojy
Râleur en service
 
Messages: 13793
Inscription: 16 Déc 2002 à 03:41
Localisation: France (59)

Messagede Fly le 24 Jan 2006 à 07:15

Content que ça ai pu t'aider :).
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Inscription: 12 Juin 2002 à 12:10
Localisation: Metz


Retourner vers Coding, Webmastering et Sécurité informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB3 Styles • phpBB podpora • Net Avenir • PromoBenef • Ticket Gagnant •