Redirection de pages et htaccess

Nouveau WRInaute
Bonjour a tous.
J'avais fais un premier htacces avec des adresses du style :
www.monsite.fr/index-nondelapage-param1-param2.html

Je me suis rendu compte que le index- n'etait pas utile et ralongeais mon url. J'ai donc modifier mes pages et mon htacces pour ne plus l'avoir.

Seulement les pages avec index- sont indéxés dans google et pointent maintenant vers mon site mais sur des pages qui ne sont plus reconues (du a leurs url).

Comment puis-je faire pour les rediriger vers les bonnes url ? A savoir les memes sans index- .

Merci.
 
Nouveau WRInaute
Peux tu detailler un petit peux stp ?
Je m'explique, j'ai plusieurs regle :

RewriteRule ^index-(.+)-([0-9]*)-(.*)-([0-9]*)\.html$ index.php?page=$1&cat=$2&nom=$3&pp=$4 [L]
RewriteRule ^index-(.+)-([0-9]*)-(.*)\.html$ index.php?page=$1&cat=$2&nom=$3 [L]
RewriteRule ^index-(.+)-([0-9]*)-([0-9]*)\.html$ index.php?page=$1&cat=$2&num=$3 [L]
RewriteRule ^index-(.+)-([0-9]*)\.html$ index.php?page=$1&cat=$2 [L]
RewriteRule ^index-(.*)\.html$ index.php?page=$1 [L]

J'ai tout modifier afin de virer ^index- pour avoir ^(.*)

Peux tu detailler :

Place des redirections /index-(.*) => /$1
avec RedirectMatch 301
ou en Url Rewriting ?

Merci :D
 
WRInaute impliqué
Le premier message parlait de "redirection"....

En fait, j'ai l'impression que c'est du simple URL Rewriting que tu veux : il suffit alors de supprimer index- de toutes tes règles.
 
Nouveau WRInaute
Non, Non, ta prémiere impression était la bonne :D
Je me suis mal exprimé, c'était pour bien expliquer mon cas.

J'ai bien fais le changement en virant îndex- tout est niquel sauf que maintenant, dans googles les pages indéxés sont du types :

www.monsite.fr/index-mapage-
alors que j'ai tout réécri et j'ai maintenant des liens du typ :
www.monsite.fr/mapage-

Et donc si tu veux accéder a mon site par les pages indéxées dans google, ca pointe bien sur mon site mais n'affiche pas de page du a la réécriture qui n'est plus bonne.

Comment rediriger ces fameuses pages indéxés (avec index- dedans) ?

Je sais pas si j'ai été assez clair ?
Merci.
 
WRInaute impliqué
Bon, alors ma première réponse était la bonne : :wink:


Code:
RedirectMatch 301  /index-(.*) http://www.example.com/$1

ou en UR (à mettre en premier) :

RewiteRule ^index-(.*)$ http://www.example.com/$1 [L,R=301]
 
Nouveau WRInaute
J'ai pas dis le contraire mais si tu pouvais m'expliquer un petit peu stp.
Le fonctionnement de cette redirection (pas que je recopie betement le code sans le comprendre, d'ailleur quand je colle
RewiteRule ^index-(.*)$ http://www.example.com/$1 [L,R=301]
j'ai une 500).

Merci a toi.
 
WRInaute impliqué
Si tu as une 500 c'est que tu boucles :

Une url avec index- est redirigée sur l'url sans index-
et cette même url transformée est redirigée (ou rewritée) en url avec index-
 
Nouveau WRInaute
Je ne vois pas comment régler le probleme.
Peux tu m'aider ?

Code:
Options +FollowSymlinks
RewriteBase /
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.monsite\.fr [NC]
RewriteRule (.*) http://www.monsite.fr/$1 [QSA,R=301,L]
RewriteRule ^(.+)-([0-9]*)-(.*)-([0-9]*)\.html$ index.php?page=$1&cat=$2&nom=$3&pp=$4 [L]
RewriteRule ^(.+)-([0-9]*)-(.*)\.html$ index.php?page=$1&cat=$2&nom=$3 [L]
RewriteRule ^(.+)-([0-9]*)-([0-9]*)\.html$ index.php?page=$1&cat=$2&num=$3 [L]
RewriteRule ^(.+)-([0-9]*)\.html$ index.php?page=$1&cat=$2 [L]
RewriteRule ^(.+)-([0-9]*)\.html$ index.php?page=$1&id=$2 [L]
RewriteRule ^(.*)\.html$ index.php?page=$1 [L]

Voici mon htacces.
A quel endroit mettre ton code ?
Quelle partie du htacces pourrai créé cette érreur 500 ?

Merci.
 

➡️ 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