Aller au contenu

v2mnet

Membre
  • Compteur de contenus

    8
  • Inscrit(e) le

  • Dernière visite

Messages postés par v2mnet

  1. 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) ?

  2. 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) ?

  3. 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!

  4. 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 !!

  5. 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 !

  6. 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;

    }

  7. 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...