Changement d'architecture du site

WRInaute discret
Je ne suis pas un spécialiste de l'URL rewriting, voilà donc ma question :

J'ai changé l'architecture de mon site, avant les pages étaient dans :
/pro/xxxx.php
/perso/xxxx.php

et maintenant c'est dans :
/flash/pro/xxxx.php
/flash/perso/xxxx.php
et
/html/pro/xxxx.php
/html/perso/xxxx.php

Est-ce que je suis obligé de conserver les anciennes pages dans /pro à cause des liens référencés dans Google ?

Comment puis-je les rediriger vers les nouvelles pages dans /flash/pro ?

Merci :p
 
WRInaute discret
Salut,
C'est bien, toi tu y as pensé... Moi j'ai fait la même chose en octobre, et ce n'est qu'un mois plus tard que je me suis rendue compte des liens cassés sur google :cry:
Il faut bien sûr conserver toutes les anciennes pages, mais en supprimer le contenu (les moteurs détestent les contenus identiques), juste inserrer une petite redirection vers la nouvelle page correspondante ou bien vers la racine du site. (ou bien vers mon site à moi :p )
 
WRInaute passionné
Bonjour,

Le mieux est encore de mettre une directive "RedirectPermanent" dans le fichier .htaccess de la racine du site.
Cela a 2 avantages:
1. rediriger les visiteurs sur la nouvelle page
2. rediriger les moteurs en renvoyant une entête 301 qui leur signale que la page a "déménagé" et les incite à mettre leurs liens à jour.

Dan

PS: une fois le RedirectPermanent en place, pas besoin de garder les anciennes pages, car elles ne seront plus accessible sous protocole http.
 
WRInaute discret
Je crois que je vais opter pour le "RedirectPermanent" :p

Est-ce que vous avez la syntaxe sous la main ou un exemple ?

Ca serait sympa :wink:
 
WRInaute discret
Petite question, c'est dans le .htaccess de la racine du site, ou celui dans le dossier /pro où se trouvait les pages ? :roll:
 
WRInaute discret
Oki doki :roll:

Donc j'ai créé un fichier .htaccess pour rediriger toutes les requetes de /pro vers /flash/pro

Voilà ce que j'ai mis dedans :
Code:
Options +FollowSymlinks
RewriteEngine on

puis :
RewriteRule ^/pro/$  /flash/pro/ [NC,L]
ou
RewriteRule ^/pro/test\.php$  /flash/pro/test.php [NC,L]
ou
RewriteRule ^/pro/([a-z]+)\.php$  /flash/pro/$1.php [NC,L]

Mais y a rien qui marche....
 
WRInaute discret
Ah, j'ai reussi un peu mieux, voici donc ma tentative :

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^pro/([a-z]+).php$  flash/pro/$1.php [NC,L]
RewriteRule ^perso/([a-z]+).php$  flash/perso/$1.php [NC,L]

Pouvez-vous me confirmer que c'est bon ?

le seul hic, c'est quand je tape -/pro/ avec rien derrière, il ne redirige pas vers la page index.php de l'autre coté. Il doit manquer qq'chose.

Et pis j'ai aussi un petit pb sur les images qui dans un cas sont dans ../../images et dans l'autre sont dans ../images
 
WRInaute passionné
Salut,

C'est normal pour tes images car tu crées un répertoire virtuel avec ta règle de réécriture.
Soit tu mets tes liens images en absolu, soit tu utilises la balise "< base href=..." dans tes pages.

Tu as aussi RedirectMatch si mod_alias est actif:
Code:
RedirectMatch  301 ^perso/(.*)$  http://www.domaine.tld/flash/perso/$1
Dan
 
WRInaute discret
Pas bête le < base href... j'y pensais plus

Pour le mod_alias, oui, il est installé, je vais essayer

Connais-tu le mod_vhost_alias ? Il n'est pas installé mais on m'a dit que c'était pas mal pour rediriger des sous-domaine (bon, je m'éloigne un peu....)
 
Discussions similaires
Haut