Bonjour à tous.

Sur le site corrigeur.fr on trouve des pages de la forme :
/aides/fiche1.php
/aides/fiche2.php
etc.



Il s'agit de renommer ces pages ainsi :
/aides/coi.php
/aides/cod.php
etc.


J'ai donc voulu créer des règles dans .htaccess. Cela ne fonctionne pas.
RewriteEngine on
RewriteRule ^fiche1.php$  http://monsite.fr/aides/coi.php  [R=301,L,NC]
RewriteRule ^fiche2.php$  http://monsite.fr/aides/cod.php  [R=301,L,NC]


Merci pour vos explications.
Merci tonpotdemoutarde Smiley biggrin

Cela ne fonctionne pas. Les noms des pages ne sont pas modifiés.

Et si j'écris
RewriteRule ^aides/fiche1.php  http://www.monsite.fr/aides/coi.php  [L,R=permanent]


On arrive sur une page qui n'existe pas... ce qui est vrai.

Les pages fichex.php qu'il faut renommer virtuellement existent déjà tandis que les pages coi.php, cod.php, etc. sont des noms virtuels.

Comment procéder pour obtenir le résultat attendu ?
Modifié par Pyanepsion (22 Oct 2012 - 15:02)
tu peux essayer ça:

RewriteRule ^fiche1\.php$  coi.php  [L]

Modifié par UltrAs001 (22 Oct 2012 - 21:26)
Il me semble que c'est dans ce sens que ça fonctionne et pas comme tu le faisais...
Modifié par UltrAs001 (23 Oct 2012 - 17:15)
Je voudrais que les pages fichex.php qui existent vraiment dans mes conseils d'écriture soient remplacées virtuellement par des URL avec un nom plus pertinent.
fiche1.php -> coi.php
fiche2.php -> cod.php
fiche3.php -> chez.php
fiche4.php -> couleur.php
etc.

Ainsi, lorsqu'on fournit le lien fichex.php qui existe vraiment, tout devrait se passer comme si la page coi.php (etc.) existait vraiment et que ce soit alors cette dernière qui soit affichée.
En fait je pense que ce que je te propose fonctionne.
Je m'explique,

Si tu fais:

## mod_rewrite
RewriteEngine On

## RewriteRule
RewriteRule ^coin\.php$  			fiche1.php [NC,L]
RewriteRule ^cod\.php$  			fiche2.php [NC,L]
RewriteRule ^chez\.php$  			fiche3.php [NC,L]
RewriteRule ^couleur\.php$  			fiche4.php [NC,L]


Si tu tapes dans ton browser: aides/coin.php, ta page fiche1.php s'affichera bien. L'url visible dans la barre sera donc bien coin.php mais elle appellera l'applicatif fiche1.php.

C'est bien ce que tu cherches non?

Après c'est à toi de modifier ton applicatif pour appeler coin.php et non fiche1.php...
Modifié par UltrAs001 (24 Oct 2012 - 13:47)
Cela ne peut pas fonctionner.

Le modèle étant dans ce cas ^coin\.php$, il n'y a aucune raison que la règle de réécriture s'applique puisque c'est initialement la page fiche1.php qui est appelée.

Smiley eek Merci de supprimer l'URL de ton message, histoire de m'éviter un 404 inopportun !
Modifié par Pyanepsion (24 Oct 2012 - 12:18)
Je ne sais pas sur quoi tourne ton applicatif, ni comment il est codé.
Mais ce que je te dis juste c'est que d'après moi tu écris tes règles à l'envers, après je ne suis pas un expert dans ce domaine.

En règle générale c'est:

RewriteRule ceQueTuVeuxVoirDansUrl tonFichierSource [L]
En conclusion.
Il n'y a pas de solution puisqu'on part du problème inverse. On ne peut pas faire correspondre une page qui n'existe pas lorsqu'on demande une page qui existe déjà.