Url rewriting page=1

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Url rewriting page=1

Re: Url rewriting page=1

par thibaultd » 28 juin 2012, 11:25

Juste une idée, que les autres participants pourront naturellement commenter:
Avoir un paramètre page=1 dans la requête ne me semble pas un problème. C'est juste embêtant pour le référencement, car Google détectera sur le site 2 pages différentes avec le même contenu, et divisera donc le page rank par 2 (pour chaque page).
Pour éviter ce problème, il suffit d'ajouter dans le header de la page l'adresse "canonical":
<link rel="canonical" href="http://monsite.com/requete_sans_page=1">
... à discuter, évidemment...

Re: Url rewriting page=1

par gealex » 27 juin 2012, 18:51

Salut,

Oui c'est vrai j'avais pas pensé à ça merci :) En cherchant un peu plus j'ai trouvé cette méthode qui marche :

Code : Tout sélectionner

RewriteCond %{THE_REQUEST} \?([^&\ ]+)&page=1 RewriteRule ^(.*)$ /$1?%1 [L,R=301]
Mais il reste un souci : ça ne fonctionne pas lorsque page est le seul paramètre dans l'url...

Re: Url rewriting page=1

par juliette » 27 juin 2012, 03:15

il te faut une 2eme règle de réécriture, celle que tuas déjà et qui fonctionne ne contient qu'un seul paramètre et l'autre 2...

Url rewriting page=1

par gealex » 26 juin 2012, 12:09

Bonjour,

J'essaye de faire une redirection 301 pour supprimer le paramètre page si il vaut 1.
En gros je veux http://www.monsite.com/?page=1 -> http://www.monsite.com/

J'ai réussi en faisant ça :

Code : Tout sélectionner

RewriteEngine On RewriteCond %{QUERY_STRING} page=1 RewriteRule ^(.*)$ /$1? [L,R=301]
Le problème est qu'avec ce code, il supprime tous les autres paramètres :
http://www.monsite.com/?page=1&sort=prix -> http://www.monsite.com/

Alors que je voudrais :
http://www.monsite.com/?page=1&sort=prix -> http://www.monsite.com/?sort=prix

Savez vous si il y a moyen de faire ça ? Peut être devrais-je faire une redirection 301 en php ? Merci :)