Changement de script : redirection permanente dans le .htaccess

WRInaute occasionnel
Bonsoir,

Je viens de finir en local la modification d'un de mes sites, je passe d'un site géré par prestashop à un blog wordpress.
J'ai retravaillé les pages et articles de l'ancienne version vers la nouvelle.
Je suis sur un mutualisé OVH avec le multi-domaine.

Ancienne url :
http://www.monsite.com/content/13-pageancienne

Nouvelle page :
http://www.monsite.com/nouvelle-page/

Au sujet des redirections, il me suffit d'indiquer dans le .htaccess :

Code:
RewriteEngine on
RewriteRule /content/13-pageancienne /nouvelle-page/

C'est comme ça que ça marche ?

Merci pour votre aide :)
 
Nouveau WRInaute
Salut,

A peu près ouais. :)
Code:
RewriteEngine on
RewriteRule ^content/13-pageancienne$ /nouvelle-page/ [QSA,R=301]

Avec ça, il y a aussi une redirection 301.

@++
 
WRInaute occasionnel
Bonjour,
Vous êtes sur du code ?

Voici mon fichier htaccess chez ovh en multidomaine:

Code:
SetEnv PHP_VER 5
Options +Indexes

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

RewriteRule ^pageancienne.html$ /nouvellepage/ [QSA,R=301]

Je viens de mettre la nouvelle version du site, et j'ai tapé pageancienne.html et je tombe sur une erreur 404

Une idée ?
Merci pour votre aide :)
 
Nouveau WRInaute
Euh normal, c'est Wordpress qui intercepte avant je pense là.

Met plutôt ceci :
Code:
SetEnv PHP_VER 5
Options +Indexes

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^pageancienne.html$ /nouvellepage/ [QSA,R=301]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

</IfModule>

Au passage, autant utilisé PHP 5.4 ;)
Code:
SetEnv PHP_VER 5_4
 
WRInaute occasionnel
Merci pour ton aide Dewep

La version que j'utilise :
Code:
RewriteRule ^anciennepage$ /nouvellepage/ [b][R=301,L][/b]

Le [R=301,L] (qui fonctionne) équivaut au [QSA,R=301] ? (qui ne semble pas fonctionner)

Merci pour votre aide :)
 
Nouveau WRInaute
Non.
Ce sont des options que l'on ajoute à la réécriture d'URL.

R=301 signifie que l'on utilise une redirection 301 (= changement d'URL permanente, c'est pour le référencement, que Google puisse savoir quel URL il faut utiliser)
L signifie qu'il arrête la réécriture immédiatement et n'applique plus aucune règle.
QSA signifie quant à lui qu'il garde les paramètres URL. C'est à dire que si tu étais sur anciennepage?page=2 tu vas être redirigé vers nouvellepage?page=2 par exemple.

A toi maintenant d'ajouter ou retirer ces options (ou plutôt chapeaux) en fonction de tes besoins.
Fais attention par contre au BBCode Gras autour de ces options que tu as mis.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut