Redirection 301 et .htaccess

Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Jan 16, 2009 20:21

tu ne fait pas beaucoup d'effort ;)
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
RewriteRule ^auteur/1/(.*)\.html$ /index.php?page=author&author_name=$1&stop [L]

3bida
WRInaute discret
WRInaute discret
 
Messages: 85
Inscription: 6 Juin 2007

Message le Ven Jan 16, 2009 20:36

webmasterlamogere a écrit:tu ne fait pas beaucoup d'effort ;)
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
RewriteRule ^auteur/1/(.*)\.html$ /index.php?page=author&author_name=$1&stop [L]

Tu sais pour moi les regex et tout ce qui s'y rattache c'est presque du chinois, je fais de mon mieux pour comprendre, et j'avoue que depuis peu je progresse, mais ce n'est pas toujours facile.

Bon, si je fais ce que tu suggère maintenant je ne pourrais plus accèder aux pages:
auteur/2/nometprenom.html
que ce soit la page 2, 3 ou toute autre page qui ne soit pas la première.

Donc pour récapituler, je veux pouvoir réécrire:
/index.php?page=author&author_name=$1
en
auteur/1/$1.html

Et en même temps réécrire:
/index.php?page=author&author_name=$1&p=$2
en
auteur/$2/$1.html

Tout ce que je peux faire maintenant, c'est soit l'une soit l'autre mais pas les deux.
Encore merci pour ta patience, avec toi j'ai beaucoup appris :) et je t'en suis reconnaissant.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Jan 16, 2009 22:38

si je récapitule toutes les règles tu dois avoir :
Code: Tout sélectionner
#redirections avec page
RewriteCond %{QUERY_STRING} ^page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+)$
RewriteRule ^index\.php$ /tags/%2/%1.html? [R=301,L]
RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)&p=([0-9]+)$
RewriteRule ^index\.php$ /auteur/%2/%1.html? [R=301,L]
#redirections sans page
RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
#réécritures
RewriteRule ^tags/([0-9]+)/([0-9a-zA-Z-]+)\.html$ /index.php?page=tag&t=$2&p=$1&stop [L]
RewriteRule ^auteur/([0-9]+)/(.*)\.html$ /index.php?page=author&author_name=$2&p=$1&stop [L]

3bida
WRInaute discret
WRInaute discret
 
Messages: 85
Inscription: 6 Juin 2007

Message le Ven Jan 16, 2009 23:22

Erreur : "Boucle de redirection" quand j'appel une page sans page et je suis rediriger vers une page dure:
h**p://www.articlesenligne.com/auteur/1/nometprenom&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop&p=1&stop.html


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Sam Jan 17, 2009 9:48

tu as du oublier le ? après .html dans les redirections 301

3bida
WRInaute discret
WRInaute discret
 
Messages: 85
Inscription: 6 Juin 2007

Message le Sam Jan 17, 2009 16:53

Non j'ai bien inclus le "?" mais boucle toujours.

J'ai décidé de rediriger tous vers la première page et attendre que google prenne en compte mes nouvelles pages pour ajouter la pagination. Donc si je fais ça:
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^page=tag&t=([0-9a-zA-Z-]+)$
RewriteRule ^index\.php$ /tags/1/%1.html? [R=301,L]

RewriteCond %{QUERY_STRING} ^page=author&author_name=(.*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]

RewriteRule ^tags/1/([0-9a-zA-Z-]+)\.html$ /index.php?page=tag&t=$1&stop [L]
RewriteRule ^auteur/1/(.*)\.html$ /index.php?page=author&author_name=$1&stop [L]


Les pages "tag" marchent bien mais les pages "author" me renvoient toujours la même erreur qu'hier.

Je commence vraiment à perdre patience, ça fait 2 jours que je me bat avec ce truc qui ne veux pas fonctionner, j'espère que tu trouvera la provenance du problème parce que moi je ne capte plus rien :(


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Sam Jan 17, 2009 18:04

je crois que c'est le (.*) dans le pattern du query string qui match aussi &stop
essaye de remplacer . par [^&] :
Code: Tout sélectionner
#redirections avec page
RewriteCond %{QUERY_STRING} ^page=tag&t=([0-9a-zA-Z-]+)&p=([0-9]+)$
RewriteRule ^index\.php$ /tags/%2/%1.html? [R=301,L]
RewriteCond %{QUERY_STRING} ^page=author&author_name=([^&]*)&p=([0-9]+)$
RewriteRule ^index\.php$ /auteur/%2/%1.html? [R=301,L]
#redirections sans page
RewriteCond %{QUERY_STRING} ^page=author&author_name=([^&]*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
RewriteCond %{QUERY_STRING} ^page=author&author_name=([^&]*)$
RewriteRule ^index\.php$ /auteur/1/%1.html? [R=301,L]
#réécritures
RewriteRule ^tags/([0-9]+)/([0-9a-zA-Z-]+)\.html$ /index.php?page=tag&t=$2&p=$1&stop [L]
RewriteRule ^auteur/([0-9]+)/(.*)\.html$ /index.php?page=author&author_name=$2&p=$1&stop [L]

3bida
WRInaute discret
WRInaute discret
 
Messages: 85
Inscription: 6 Juin 2007

Message le Sam Jan 17, 2009 19:27

Merci j'ai trouvé de mon coté aussi une solution. J'ai remplacé (.*) par ([a-zA-Z0-9%-]+) ce qui revient au même, du moins je le pense.

Maintenant tout fonctionne très bien, et je t'en remercie car sans toi je ne m'en serai pas sorti de sitôt.

J'ai cependant un autre petit problème qui consiste en l'écriture des urls. Pour faire simple je vais donner un exemple.

J'ai l'url qui se réécrit avec l'url rewtitting de cette façon:
h**p://www.articlesenligne.com/auteur/1/Cl%E9ment.html
Mais avec un lien direct que j'ai créé sur mon site (en appliquant un urlencode) l'url s'écrit de cette façon:
h**p://www.articlesenligne.com/auteur/1/Cl%25E9ment.html

J'ai fait une petite recherche et il en sort que l'accent est encodé en hexa pour le premier cas, et pour le deuxième cas il est encodé une fois ensuite le signe "%" est réencodé ce qui donne %25E9.
J'aurai donc deux questions:

1- Est ce que pour Google & co ces deux urls sont identiques ?
2- Est ce qu'il y'a une solution pour avoir la même écriture pour ces deux urls ? Ou plutot, est il possible d'écrire une regex à l'intérieur du .htacces qui s'occuperait de ça ?

Merci.

Redirection 301 et .htaccess

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités