Aller au contenu

Clair de Lune

Membre+
  • Compteur de contenus

    257
  • Inscrit(e) le

  • Dernière visite

Messages postés par Clair de Lune

  1. Je suis peut-être à côté de la plaque, mais dans ton cas est-ce le pays d'origine de l'IP qui compte ou la langue utilisée par le navigateur du visiteur ? En effet, je peux avoir une IP chinoise parce que j'y suis en voyage, mais vouloir consulter un site dans ma langue, par exemple.

     

    Du coup j'essaierais de détecter la langue du navigateur qui demande la page en PHP avec

    $_SERVER['HTTP_ACCEPT_LANGUAGE']

    pour générer la bonne version du site.

     

    Il y a sûrement des inconvénients, parce que l'on ne peut pas se fier aux en-têtes, mais ça couvre probablement la majorité des cas, non ?

  2. Bonjour



    Je reviens vous tenir au courant, j'ai en effet trouvé une solution intéressante, si ça peut servir à d'autres.



    À la suite des réflexions inspirées par vos réponses, j'étais parti pour créer un fichier de redirections en PHP, appelé dans l'index.php avant le fichier de configuration, avec un tableau pour les correspondances en fonction de $_SERVER['REQUEST_URI'].



    Mais en fait, il existe un module pour Prestashop qui prend soin de ce type de problème et permet, dans l'interface d'administration, de créer ces redirections, avec un choix sur le code renvoyé, dans mon cas toujours 301. Cerise sur le gâteau, on peut y importer un fichier *.csv avec la liste des URLs, ce qui est simple à constituer à partir de sitemaps.



    Le module est payant, mais j'ai trouvé que ça en valait le coup ;)


  3. Pour résumer

    Les formats d'URL différents ne me permettent pas d'utiliser une directive RewriteRule à base d'expressions régulières, et étant de plus sur un hébergement mutualisé, je n'ai pas accès aux fichiers de configuration vhosts du serveur, et ne peux donc pas utiliser de directive RewriteMap.

    Il ne me reste qu'à établir à la main la correspondance pour chaque ancienne URL vers la nouvelle, et ma question est de savoir quelle méthode utiliser pour pénaliser le serveur aussi peu que possible. Mes options semblent être les suivantes :

    1) insérer mes 350 redirections permanentes dans le .htaccess à la racine, l'inconvénient évident étant que ce fichier sera lu à chaque requête vers le serveur, mais est-ce beaucoup réellement pour une formule perso chez OVH ?

    2) définir dans mon .htaccess à la racine une page 404 avec un script php qui se charge de rediriger chaque URL non connue de prestashop vers une des nouvelles pages

    3) modifier la page d'erreur 404 de prestashop pour qu'elle intègre les redirections en y ajoutant une détection de l'URL demandée, si c'est possible

    Merci encore

  4. C'est bien ce que je craignais, j'avais cru comprendre qu'il fallait déclarer le RewriteMap dans le vhost, et tu me le confirmes. Merci.



    Or je n'ai pas accès à ces fichiers de configuration, le site est sur un petit serveur mutualisé.



    Il ne me reste que le .htaccess avec 350 lignes ou une redirection par PHP. Saurais-tu me dire laquelle de ces deux options serait la moins gourmande pour le serveur ?


  5. Bonjour



    Je dois effectuer la migration d'un site actuellement sous Dotclear vers une nouvelle installation sous Prestashop.



    Le site actuel est bien référencé avec de nombreux mots-clés, et comporte environ 350 pages indexées. J'ai commencé l'intégration de la boutique dans un répertoire temporaire, qui sera déplacé à la racine quand tout fonctionnera... et que j'aurai trouvé le moyen de rediriger les anciennes pages.



    Et c'est là que réside ma question : comme je ne vois pas de moyen simple de faire correspondre automatiquement les anciennes URLs et les nouvelles, je ne peux pas utiliser une règle de réécriture générique. Je me suis résigné à faire une redirection permanente pour chaque URL. Mais ça va faire dans les 350 lignes, et je ne sais pas quel impact ça aura sur le serveur, car le fichier .htaccess est lu à chaque requête..



    Avez-vous des expériences similaires et une solution ?


  6. Sur IE11, effectivement les menus ne s'affichent pas, alors que tout va bien avec d'autres navigateurs ou IE10. La première erreur reportée par la console d'Explorer est sur le DOCTYPE, actuellement :



    <!DOCTYPE HTML />

    essaie de le transformer en



    <!DOCTYPE html>

    ça fera peut-être basculer IE dans un mode plus standard


  7. Au risque de passer pour un troll, je dirais que le problème de fond, c'est la publicité elle-même, qui envahit tous les espaces dont le net sans retenue. Il est peu étonnant que les utilisateurs veuillent en voir le moins possible, d'où le succès des bloqueurs de pub.



    Bien évidemment, les publicitaires ne se laissent pas faire, persuadés même quelquefois de faire œuvre utile, et développent des solutions anti-bloqueurs pour vendre leur soupe. Même si elle est très bonne, cela n'en reste pas moins de la soupe, et les visiteurs sont bien libres de ne pas vouloir la manger wink.gif



    Après, que cela fasse vivre plein de gens ne change rien aux réactions de leurs utilisateurs, ou, si l'on se place de côté du publicitaire, de leurs cibles, ce dernier mot permettant d'ailleurs de constater l'agressivité de leurs pratiques...



    Pour résumer, je crois qu'un webmaster a parfaitement le droit d'imposer ses publicités, et ses visiteurs de quitter le site s'il exagère, en général quand le ration publicité/contenu réel devient trop fort.




  8. A priori, et sans connaître la législation relative aux jeux d'argent, je dirais que le contournement de la loi, en profitant d'un vide juridique ou d'une quelconque astuce, n'est que très rarement couronné de succès, et ne peut donc pas être considéré comme une alternative commerciale viable et pérenne.



    Qu'un autre site le fasse déjà n'est en aucun cas une garantie qu'il sera autorisé à continuer ;)


  9. Retour d'expérience : toutes les nouvelles URLs de mon sitemap sont bien indexées et les positions s'améliorent, ce qui semble confirmer le passage bénéfique du "jus" du sous-domaine au répertoire. La migration est un succès. Merci à chacun pour son avis et ses conseils :)


  10. Je termine mon monologue pour clore ce sujet, ce n'était pas si simple



    En fait il y avait plusieurs schémas d'URLs dans les backlinks, en effet certains étaient en place depuis une dizaine d'années et le format des URLs avait changé plusieurs fois depuis...



    Au moyen de l'outil de repérage des erreurs 404 de GWT, j'ai pu trouver la totalité de ces liens et les rediriger correctement.



    Les différents liens avaient les structures suivantes


    • tourisme/index.php?année/mois/jour/id-titre-du-billet
    • tourisme/index.php?titre-du-billet
    • tourisme/?titre-du-billet
    • tourisme/titre-du-billet

    Tous redirigés maintenant vers tourisme/post/titre-du-billet \o/



    Heureusement les publications du Hub sur la réécriture m'ont beaucoup aidé, et après l'absorption de plusieurs cachets d'aspirine, j'ai pu m'en sortir et je remercie encore Dan pour sa pédagogie smartass.gif


  11. Bonjour



    J'ai un peu avancé, et je parviens à rediriger les anciens BLs en query_string



    domaine/tourisme/?titre-du-billet => domaine/tourisme/post/titre-du-billet



    avec cet ajout dans le fichier .htaccess



    # Redirect old query_string BLs
    RewriteCond %{QUERY_STRING} ^([a-z0-9]+.*)$
    RewriteCond %{QUERY_STRING} !^q=.*$
    RewriteCond %{QUERY_STRING} !^pf=.*$
    RewriteRule ^$ /tourisme/post/%{QUERY_STRING}? [R=301,L]

    En revanche je n'y parviens toujours pas avec domaine/tourisme/titre-du-billet (sans le ? dans l'url) que voudrais aussi rediriger vers domaine/tourisme/post/titre-du-billet.



    Pour l'instant donc, j'ai résolu le problème avec un RedirectPermanent pour chaque titre whistling.gif mais j'aimerais mieux quelque chose de générique, et surtout comprendre ce que je fais mal.


  12. Merci Dan, mais oui j'ai déjà testé cela suivant le conseil de Nicolas en #2 (sans l'URL complète et avec) et tout marche sur le site, mais aucune redirection n'est effectuée.



    En revanche, si je supprime dans la règle le mot tourisme et le / qui le suit, j'obtiens de redirection et l'url finale est :



    domaine/tourisme/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/post/titre-du-billet



    J'ai donc l'impression que le premier argument de la règle telle que tu me la donnes n'est pas pris en compte :(


  13. Je ne m'en sors toujours pas...



    Pour récapituler, dans le site de ma signature, j'ai un répertoire www/tourisme/, dans lequel j'ai mis le .htaccess suivant :



    RewriteEngine on
    RewriteBase /tourisme/

    # Old RSS feed
    RewriteRule ^rss.php(/)?$ http://www.campingclairdelune.fr/tourisme/feed/atom [R=301,L]

    # Nice URLs
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1

    L'ancien flux RSS est bien redirigé, et les URLs du blog sont bien réécrites sans le index.php.



    Je souhaite maintenant que d'anciens BLs de la forme



    domaine/tourisme/titre-du-billet



    soient redirigés vers



    domaine/tourisme/post/titre-du-billet



    en ajoutant ceci dans mon .htacces



    RewriteCond %{REQUEST_URI} !post
    RewriteRule ^tourisme/(.*)$ /tourisme/post/$1 [R=301,L]

    mais ça ne fonctionne pas. Auriez-vous d'autres idées pour m'indiquer où je me trompe ?








×
×
  • Créer...