Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2010, 21h01   #1
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Par défaut url rewriting trop générique crée pb public / admin

Bonjour,

suite à un changement de CMS, j'ai dû faire des réécritures d'url.

Mon problème :
mon ancien site avait plein de répertoires et de pages du genre
hXXp://www.monsite.com/equipe/football-juniors-filles.html
hXXp://www.monsite.com/equipe/football-juniors-garcons.html
ou
hXXp://www.monsite.com/equipe/basketball-arbitres.html

J'aimerais pouvoir écrire un règle RewriteRule qui permette de rediriger à la volée tout ce qui est sur /equipe/ et qui contient "ball"

Gros blocage :
l'admin possède des sous-repertoires avec le mot "equipe". Et donc lorsque je redirige seulement d'après le mot "equipe" ma partie admin n'est plus accessible pour les pages qui contiennent ce mot déjà utulisé dans des règles.

PS : le nouveau CMS est Drupal
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 06h30   #2
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Il existe un petit tuto sur la question : http://www.progs.fr/node?page=1

qui conseille ce genre de syntaxe (qui fonctionne)

Citation:
Ajouter:
RewriteRule ^ancienLienPage$ nouveauLienPage [R=301,L]
Exemple
RewriteRule ^node/175$ http://www.flex-tuto.com/flex-1026-l...pe-constructor [R=301,L]
Nb: il ne faut pas mettre de slash (/) avant "ancienLienPage" comme dans un redirect permanent
Il me semble que cela est écrit à l'envers, d'abord le lien à réécrire puis le lien réécrit (ancien -> nouveau) alors que d'habitude on est dans nouveau -> ancien

Mais cela fonctionne...
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 07h57   #3
Membre habitué
 
Avatar de php_de_travers
 
Inscription : juin 2004
Messages : 460
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 460
Points : 144
Points : 144
Sur le site de Drupal, ce pb semble compliqué à gérer pour les gens qui migrent de Wordpress et autres CMS mais des pistes efficaces existent :

Code :
1
2
RewriteCond %{QUERY_STRING} categorie=BASKET
RewriteRule ^equipe/index\.php$ http://www.monsite.com/MonNouveauDossier/basket? [R=301,L]
Le problème est qu'il faut passer les variables une par une dans le RewriteCond

Existe-t-il une manière générique avec des regex du genre (qui plante !)

Code :
RewriteRule ^equipe/basket-juniors[0-9A-Za-z,._]$ h..p://www.monsite.com/equipe/basket [R=301,L]
Pour récupérer sans trop de perte des url indexées paf GG du genre
h..p://www.monsite.com/equipe/basket-juniors,richard_dakoury.html
php_de_travers est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h12.


 
 
 
 
Partenaires

Hébergement Web