Wordpress : redirections 301 "persos" ne fonctionnent pas !

WRInaute accro
Bonsoir

Je me prends la tête depuis 2 heures sur un problème pourtant fort basique (ça fait que 6 ou 7 ans que je pratique les redirections :roll: )

Un site qui vient d'être refondu intégralement : http://distrimode.fr
Des anciennes pages qui disparaissent, d'autres qui changent d'URL, avec un problème particulier (quoique) dans le sens où les anciennes URL "correspondent" à la version réécrite d'une taxonomie perso que j'ai créé sur le nouveau site, MAIS que je n'autorise (en principe) pas à l'affichage (je ne VEUX PAS ces pages).

Bref, donc !

Dans mon htaccess, juste avant la palanquée de règles propres à WP (et ses plugins qui vont bien), j'ai donc mis :
Code:
Options -Indexes

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
	AddDefaultCharset UTF-8

	RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
	RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
	RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/distrimode [R=302,NC,L]
	
	RewriteRule http://distrimode.fr/marque/rene-derhy http://distrimode.fr/actualites/collection-rene-derhy/ [R=301,L,NC]
	RewriteRule http://distrimode.fr/marque/lauren-vidal/ http://distrimode.fr/marque-lauren-vidal/ [R=301,L,NC]
	RewriteRule http://distrimode.fr/marque/sunlight-paris/ http://distrimode.fr/marque-sunlight-paris/ [R=301,L,NC]
	RewriteRule http://distrimode.fr/marque/rene-derhy/robe/ http://distrimode.fr/actualites/collection-rene-derhy/ [R=301,L,NC]
...
	RewriteRule http://distrimode.fr/marque/ http://distrimode.fr  [R=301,L,NC]	
</IfModule>

Les redirections de flux RSS fonctionnent parfaitement, mais PAS les suivantes ! Systématiquement il me claque soit une erreur 404, soit une page que je ne VEUX pas (mes fameuses taxonomies).

C'est où que j'ai faux ???

Précision : je ne veux pas utiliser le plugin "Redirection" car il me claque des boucles de redirection... et c'est très pénible !
 
WRInaute accro
Bon

Finalement, comme j'avais peu de pages à rediriger, je l'ai fait EN DUR dans le header.php :roll:

(comme j'avais d'ailleurs fait pour mon blog photo... Je sais pas pourquoi, les redirections via le htaccess ne fonctionnent jamais avec moi sur les sites WP :twisted: )


Voici mon bout de code :
Code:
<?php
 
  // Retourne "vrai" si $chaine débute par $debut
  function startswith($chaine, $debut) {
    return substr($chaine, 0, strlen($debut)) === $debut;
  }
 
  /***** Réécriture manuelle des anciennes URL *******************************************/
 
  // Lecture des variables serveur
  $server_name = $_SERVER['SERVER_NAME']; // Nom du "serveur"
  $sURL=$_SERVER["REQUEST_URI"];      // Ce qui suit le nom du serveur
 
  if(startswith($sURL,'/marque/lauren-vidal')) {
    header('HTTP/1.1 301 Moved Permanently', false, 301);
    header("Location: http://" .$server_name."/marque-lauren-vidal/");
    exit();
  }
 
  if(startswith($sURL,'/marque/rene-derhy')) {
    header('HTTP/1.1 301 Moved Permanently', false, 301);
    header("Location: http://" .$server_name."/actualites/collection-rene-derhy/");
    exit();
  }
...
 
?>

Dans le second cas ça tombe bien car comme j'avais plusieurs pages (et sous-pages) qui sont redirigées vers une seule et unique désormais, c'est nickel ! Mais bon ça m'explique pas pourquoi WP ne "supporte pas" les 301 dans le htaccess :cry:
 
WRInaute accro
Pfffff bon je suis pas sorti de mes petits soucis : le site "semble" répondre étrangement à certains clics...

Me demande si le cache n'y est pas pour quelque chose :(

J'EN AI MARRE. C'est pourtant de l'ultra classique, mêmes outils et méthodes que mes autres sites, je ne comprends pas !

par exemple ici : http://distrimode.fr/theme-glam-lauren-vidal/ quand je clique sur le lien en bas des onglets (qui porte PRESQUE le même nom : http://distrimode.fr/theme/lauren-vidal-glam/ ) et bien WP semble "faire le rapprochement" et considère que c'est (aléatoirement) la même page !!!

Y'a pas moyen d'éviter ça ???

Je sais bien que les noms se ressemblent (un slash / un tiret de différence... Comment appeler des articles présentés dans des ensembles différents, cependant ? Ce n'est pas moi qui ai fait les saisies, je devrais p'têt modifier dès à présent les liens ?)
 
WRInaute passionné
Je crois que WordPress est à l'origine de ce "problème". A la base, je pense qu'ils ont dû implémenter un système qui permet de "corriger" les mauvaises URLs pour les rediriger vers les bonnes.

Tu peux :
1. chercher à désactiver cette fonction (encore faut-il la trouver si elle existe...)
2. changer tes URLs

Amuse toi bien, et n'hésite pas à faire signe si tu trouves une solution.
 
WRInaute accro
C'est ce que je pensais...

Je pense que je vais modifier à la volée (merki SQL) les URL des pages produits. Après tout elles font "concurrence" avec les thèmes des fournisseurs (faudra que j'en reparle à mon client ; de toute façon ce sera forcément mieux qu'avant, dans la mesure où avant il n'avait qu'une page par marque avec des dizaines/centaines de photos !)
 
WRInaute accro
HELP

Le délire COMPLET : le site me fait N'IMPORTE QUOI !!!

J'ai TOUT désactivé : les redirections, le cache, tout. Et quand on clique, on n'a JAMAIS la même page ???

Mais qu'est-ce que c'est que ce bignz ???
 
WRInaute accro
BON

j'ai trouvé, ce sont les "modifs" de WP SuperCache :roll:

Décidément j'ai VRAIMENT du mal avec CE site. Sur le même hébergeur, même version de WP avec les mêmes plugins, mes autres sites fonctionnent tous nickel :(
 
WRInaute accro
Non wordpress ne corrige pas les mauvaises urls vers les bonnes

En revanche, il y a des configs serveurs qui recherchent en cas de 404 les possibilités très voisines, et proposent des alternatives

C'est pas la première fois que tu as des problèmes avec WP Super Cache, tu en as vraiment besoin ?
 
WRInaute accro
BON

Alors, j'ai trouvé d'où ça venait : du code HTTP304 que l'on peut renvoyer au niveau de WP Super Cache.

Quand je l'active, c'est la foire (sous Chrome, un coup sur deux me propose de télécharger la page, et sous FF, il m'affiche n'importe quelle page du site...)

Dès que je le désactive, ça rentre dans l'ordre !

Hallucinant ce truc.
 
WRInaute accro
Bah disons que j'aime bien les sites optimisés au niveau vitesse...

Là j'ai finalement fait le minimum syndical, ça roule comme ça et puis c'est tout (je ne cours pas après le "score" YSlow, même si c'est toujours flatteur d'avoir un grade B, voire un A...)
 
WRInaute passionné
Marie-Aude a dit:
Non wordpress ne corrige pas les mauvaises urls vers les bonnes
Merci pour l'info.

Cedric, essaye W3 Total Cache (tu n'es pas obligé de tout activer), je trouve qu'il a bcp d'atouts comparé a WP Super Cache.
 
WRInaute accro
Disons que je l'ai essayé sur mon blog perso, et je n'ai pas été convaincu par les résultats...

Mesures faites, mais aussi et surtout à l'usage (côté utilisateur), WP SuperCache + DB Cache reloaded est un couple plus performant et plus léger (je trouve). Pour les très gros sites, peut-être que W3 Total Cache sera mieux (avec l'utilisation de MemCached ou APC par ex.)

Là j'ai finalement implémenté le minimum au niveau de WP SuperCache (cache PHP, compression des pages), et j'ai tuné le htaccess à ma sauce. Résultat nickel, site performant dans sa globalité. Et une notation > 85/100 (grade B) sur toutes les pages quand même :mrgreen: (je suis incorrigible...)


Ceci dit, je n'ai pas dit que je ne l'utiliserai pas sur d'autres projets... Là c'est malgré tout un petit site (une centaine de pages, à terme quelques centaines au maximum)
 
Discussions similaires
Haut