Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
rikew
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Déc 2002
Messages: 448
Localisation: Marseille

URL permanente de ce messagePosté le : Jeu Nov 25, 2004 14:04    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

J'aimerai transformer :

Directory/ en index.php?lang=en
Annuaire/ en index.php?lang=fr

En faisant 2 règles c'est pas très dur.
Seulement j'ai beaucoup de répertoires et sous-répertoires.
Si j'utilise une règle par langue, ça va faire beaucoup de règle.
J'aimerai bien trouver une solution qui tienne en une règle…

Ça doit ressembler à :

RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Avec $1 qui est égal à fr ou en.

Si quelqu'un a une solution …
Merci d'avance Very Happy
 
rikew Visiter le site web du posteur
maxttb
WRInaute impliqué
WRInaute impliqué

Inscrit le: 27 Fév 2004
Messages: 477
Localisation: Metz

URL permanente de ce messagePosté le : Jeu Nov 25, 2004 23:53    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Je doute fortement que quelqu'un trouve une solution à ton problème. Les regex sont puissantes, certes, mais ce n'est pas non plus un langage de programmation...
 
maxttb Visiter le site web du posteur
rikew
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Déc 2002
Messages: 448
Localisation: Marseille

URL permanente de ce messagePosté le : Ven Nov 26, 2004 10:31    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

En fait j'ai une solution.. mais ça n'est pas clean …
En utilisant cette règle, je récupère sur mes pages soit : « Directory », soit « Annuaire »
Par comparaison je retrouve la langue …
Vu que j'ai beaucoup de catégories et sous-catégories ça fait beaucoup de comparaisons...
 
rikew Visiter le site web du posteur
maxttb
WRInaute impliqué
WRInaute impliqué

Inscrit le: 27 Fév 2004
Messages: 477
Localisation: Metz

URL permanente de ce messagePosté le : Ven Nov 26, 2004 10:37    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Je crois que c'est la meilleure (et peut être la seule) solution. Il est clair que si c'est un annuaire et que tu veuilles faire ca pour toutes les catégories, ca risque d'être un peu lourd, et peu fiable dans le cas où plusieurs catégorie portent le même nom...
 
maxttb Visiter le site web du posteur
rikew
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Déc 2002
Messages: 448
Localisation: Marseille

URL permanente de ce messagePosté le : Ven Nov 26, 2004 10:52    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Oui, heureusement pour moi le nom est unique.
Mais bon … ça peut intéresser du monde …
Un annuaire avec des urls qui s'adapte à la langue du visiteur …
Google va apprécier ! enfin j'espère Smile
 
rikew Visiter le site web du posteur
maxttb
WRInaute impliqué
WRInaute impliqué

Inscrit le: 27 Fév 2004
Messages: 477
Localisation: Metz

URL permanente de ce messagePosté le : Ven Nov 26, 2004 10:58    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Y'a qu'à voir comme il apprécie DMOZ! En fait, il faudrait, pour éviter de selectionner les doublons, extraire toute l'arborescence de la page.
Par exemple:
RewriteRule ^(Directory|Annuaire)/(([a-zA-Z0-9\s]/)+)$ annu.php?path=$2
Et séparer à la main toutes les catégories.
A la limite, en incluant la langue dans chaque enregistrement de catégorie, tu pourrais retrouver la langue à afficher...
 
maxttb Visiter le site web du posteur
rikew
WRInaute impliqué
WRInaute impliqué

Inscrit le: 19 Déc 2002
Messages: 448
Localisation: Marseille

URL permanente de ce messagePosté le : Ven Nov 26, 2004 11:23    Sujet du message: RewriteRule ^(Directory|Annuaire)/$ index.php?lang=$1

Si ca peut servir ...

RewriteRule ^(annuaire|directory)/$ index.php?nlg=$1&p=search
RewriteRule ^(annuaire|directory)/([a-zA-Z0-9-]*)/$ index.php?p=search&nlg=$1&cat=$2&pg=1
RewriteRule ^(annuaire|directory)/([a-zA-Z0-9-]*)/p([0-9]*).html$ index.php?p=search&nlg=$1&cat=$2&pg=$3
RewriteRule ^(annuaire|directory)/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/$ index.php?p=search&nlg=$1&cat=$2&scat=$3&pg=1
RewriteRule ^(annuaire|directory)/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/p([0-9]*).html$ index.php?p=search&nlg=$1&cat=$2&scat=$3&pg=$4

J'ai définis mes variables dans $link comme ca :

// root

$link['fr-annuaire'] = "annuaire";
$link['en-annuaire'] = "directory";

// categories

$link['fr-cat-1'] = "Voiture";
$link['en-cat-1'] = "Car";

$link['fr-cat-2'] = "Maison";
$link['en-cat-2'] = "Home";

// souscategorie

$link['fr-scat-1'] = "Neuf";
$link['en-scat-1'] = "New";

$link['fr-scat-2'] = "Vieu";
$link['en-scat-2'] = "Old";


Dans l'entete de mes pages j'ai mis :

if (isset($nlg)) {
if ($nlg==$link['fr-annuaire']) {$lg="fr";}
if ($nlg==$link['en-annuaire']) {$lg="en";}
}


Pour le liens anglais / francais (sur toutes les pages), j'ai fait :

$link_en = $_SERVER['REQUEST_URI'];
$link_fr = $_SERVER['REQUEST_URI'];

if ($nlg) {
$link_en = str_replace($link['fr-annuaire'], $link['en-annuaire'], $link_en);
$link_fr = str_replace($link['en-annuaire'], $link['fr-annuaire'], $link_fr);
}

if ($cat) {
$link_en = str_replace($link['fr-cat-'.$cat], $link['en-cat-'.$cat], $link_en);
$link_fr = str_replace($link['en-cat-'.$cat], $link['fr-cat-'.$cat], $link_fr);
}

if ($scat) {
$link_en = str_replace($link['fr-scat-'.$scat], $link['en-scat-'.$scat], $link_en);
$link_fr = str_replace($link['en-scat-'.$scat], $link['fr-scat-'.$scat], $link_fr);
}

<?php if ($lg!="en") { echo "<a href=\"".$link_en."\">"; } ?><img src="en.gif" border="0" alt=""><?php if ($lg!="en") { echo "</a>"; } ?>

<?php if ($lg!="fr") { echo "<a href=\"".$link_fr."\">"; } ?><img src="fr.gif" border="0" alt=""><?php if ($lg!="fr") { echo "</a>"; } ?>
 
rikew Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort