Aller au contenu

v2mnet

Membre
  • Compteur de contenus

    8
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par v2mnet

  1. Réponse dans Il faut modifier header("Status: 301 Moved Permanently"); en header("HTTP/1.1 301 Moved Permanently"); car le premier renvoie toujours une 302
  2. Tu as raison jeroen, je n'ai pas de 301 avec ces regles, j'ai seulement 200 OK. mais seulement pour les urls du type /produit-ref-123.html, Pour les autres "urls d'origine" du style /produit.php?id=123, j'obtiens : HTTP/1.1 302 Found Status: 301 Moved Permanently Mon problème est de savoir si ces 2 redirections successives (302 puis 301) sont nuisibles. On m'a que que oui ... Dans cet esprit, mon idée est de supprimer la redirection 302 qui proviendrait du .htaccess. La 302 proviendrait du .htaccess car si les règles ne précisent pas 301, par défaut c'est 302. Donc je dois rajouter dans ces règles R=301 .... Mais c'est la syntaxe qui coince... Les règles actuelles du htaccess sont les suivantes : Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html$ $1$2&$3=$4$5\.html [N] RewriteRule ^(.*)-([^-]+)-([^-]*)(.*)\.html$ $1.php?$2=$3$4 [L] RewriteRule ^(.*).html$ $1.php [L] La redirection 301 vient "probablement" du fichier produit.php lui-même qui commence comme ca : if ( !empty( $_GET['id'] ) ) { header("Status: 301 Moved Permanently"); $url = $_SERVER["REQUEST_URI"] ; $url = str_replace("id", "ref", $url ) ; $url = url_rewrite($url) ; header("Location: $url"); die; } elseif( strpos($_SERVER["REQUEST_URI"], "php" ) !== false) { header("Status: 301 Moved Permanently"); $url = $_SERVER["REQUEST_URI"] ; $url = url_rewrite($url) ; header("Location: $url"); die; } Comment modifier les 3 règles pour n'avoir qu'une redirection 301 au lieu d'une 302 (liée à .htaccess) d'abord puis 301 ensuite (liée au code php) ?
  3. Les règles actuelles du htaccess sont les suivantes : Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html$ $1$2&$3=$4$5\.html [N] RewriteRule ^(.*)-([^-]+)-([^-]*)(.*)\.html$ $1.php?$2=$3$4 [L] RewriteRule ^(.*).html$ $1.php [L] pour les urls d'origine du style /produit.php?id=123, j'obtiens : HTTP/1.1 302 Found Status: 301 Moved Permanently Comment modifier les 3 règles pour n'avoir qu'une redirection 301 au lieu d'une 302 (liée à .htaccess) d'abord puis 301 ensuite (liée au code php) ?
  4. Avec des résultats comme les suivants : pour les urls d'origine du style /produit.php?id=123 HTTP/1.1 302 Found Status: 301 Moved Permanently Pour les urls ré-écrites /produit-ref-123.html HTTP/1.1 200 OK est-ce que Google ne se mélange pas les pinceaux ? Et comment fait-il pour savoir s'il s'agit d'une redirection 301 ou d'une 302 ? Merci par avance!
  5. Plus précisément, je cherche à transformer les règles suivantes pour dire que ces redirections ne sont plus 302 (implictes) mais 301. # htaccess Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html$ $1$2&$3=$4$5\.html [N] RewriteRule ^(.*)-([^-]+)-([^-]*)(.*)\.html$ $1.php?$2=$3$4 [L] RewriteRule ^(.*).html$ $1.php [L] Si quelqu'un a une idée !!
  6. Non, ta proposition ne marche pas. Erreur 404 Je viens de lire que la règle RewriteRule ^(.*).html$ $1.php [L] va impliquer une redirection 302, car la 301 n'est pas indiquée explicitement. Pour imposer une redirection 301, il faut rajouter [R=301,L], mais dans ce cas, il faut indiquer une url externe avec http://... La règle suivante ne marche pas non plus. Erreur 404 RewriteRule (.*)\.html http://www.host.com/rep1/$1.php [R=301,L] Comment transformer la règle RewriteRule ^(.*).html$ $1.php [L] pour dire que tous les scripts placés dans tous les sous répertoires du répertoire /shop/ sont concernés ? Je sèche. Merci à vous tous par avance !
  7. Bonjour à tous, Je cherche à transformer environ 100 urls php en html pour le référencement. url d'origine du style /produit.php?id=123 à transformer en /produit-ref-123.html L'url rewriting fonctionne, mais pas la redirection 301. Voila ce que j'obtiens : HTTP/1.1 302 Found Status: 301 Moved Permanently Comment modifier les règles ci-dessous pour dire que TOUTES les urls doivent être redirigées en 301, sachant que les scripts concernés sont répartis dans différents répertoires ? Faut-il écrire la règle 3? RewriteRule (.*)\.html http://www.host.com/rep1/$1.php [R=301,L] RewriteRule (.*)\.html http://www.host.com/rep2/$1.php [R=301,L] RewriteRule (.*)\.html http://www.host.com/rep3/$1.php [R=301,L] etc... et idem pour les autres ?? # htaccess Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html$ $1$2&$3=$4$5\.html [N] RewriteRule ^(.*)-([^-]+)-([^-]*)(.*)\.html$ $1.php?$2=$3$4 [L] RewriteRule ^(.*).html$ $1.php [L] la fonction $url = url_rewrite( $url ) retourne bien la bonne url Le fichier produit.php commence comme ca : if ( !empty( $_GET['id'] ) ) { header("Status: 301 Moved Permanently"); $url = $_SERVER["REQUEST_URI"] ; $url = str_replace("id", "ref", $url ) ; $url = url_rewrite($url) ; header("Location: $url"); die; } elseif( strpos($_SERVER["REQUEST_URI"], "php" ) !== false) { header("Status: 301 Moved Permanently"); $url = $_SERVER["REQUEST_URI"] ; $url = url_rewrite($url) ; header("Location: $url"); die; }
  8. Bonjour à tous, Je viens de changer toutes les pages php du site en utilisant l'url rewriting et je me demande quand ces nouvelles pages html deviendront visibles sur google. Au bout de combien de temps, par exemple la page html décrivant un de nos produits va-t-elle devenir visible http://www.v2m.net/boutique/achat/produit_...ls-ref-431.html Si vous avez une idée, merci par avance. Cordialement Jean-Michel http://www.v2m.net
×
×
  • Créer...