Conditions et logique dans un fichier htaccess "dynamiq

Discussion dans 'URL Rewriting et .htaccess' créé par dsaunier, 9 Janvier 2006.

Tags:
  1. dsaunier
    dsaunier WRInaute discret
    Inscrit:
    19 Novembre 2005
    Messages:
    56
    J'aime reçus:
    0
    Bonjour,

    Ma question comme je suis relativement débutant avec les htaccess, est de savoir si comme pour des langages Perl ou PHP, on peut y placer des conditions et tests logiques ?
    Dans mon cas de figure, je souhaiterais proposer aux visiteurs deux manières de lister des références d'une société, par type de service rendu ou par secteur d'activité du client. Ce sont les mêmes fiches références qui sont appelées mais leur ordre dépend de la manière dont la page est appelée, et donc de son URL :
    En ex1 on aura references-diagnostic-lot.html ce que le htaccess mettra en references.php?service=diagnostic&dpt=lot
    En 2 on aura references-culture-tarn.html ce que le htaccess devrait mettre en references.php?secteur=culture&dpt=tarn

    Ces deux pages commencent par references ce qui sert à appeler la page-modèle references.php mais je me demandais si ensuite je dois mettre "en dur" dans mon fichier htaccess tous les mots-clefs pour que le site sache que si le 2eme mot-clef de l'URL est diagnostic alors ca doit devenir references.php?service=diagnostic mais que s'il s'agit de "culture" ou "tourisme" alors ca va etre "references.php?secteur="
    Cela risque de donner un fichier lourd et à changer éventuellement...A voir d'ailleurs comment l'écrire car je ne le vois pas...
    Ou alors au mieux, serait-il par exemple possible de déclarer dans un fichier htaccess un tableau de mots-clefs, et de faire en sorte donc que si le 2ème terme de mon URL est dedans alors le lien devient ceci, sinon cela...

    J'espère être assez clair, j'imagine que ce cas doit concerner pas mal de monde qui veut faire des URL optimisés ?

    merci à tous.
     
  2. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 688
    J'aime reçus:
    2
    Le mieux c'est de changer le nom de la page reference (qui ne sert à rien pour le référencement du reste) et de mettre un autre terme ("service" ou "secteur").

    un truc comme ceci peut être :

    RewriteRule ^(*.)-(.*)-(.*).html$ reference.php?$1=$2&dpt=$3


    Du coup tu aurais des pages écrites comme ceci :

    service-diagnostic-lot.html
    secteur-culture-tarn.html

    etc...

    Une seule ligne sur le htaccess. (Par contre les (.*) sont à éviter mieux vaut des expressions plus "étroites" comme ([::alphanum::]) ).

    J'espère que je suis assez clair.


    @+
     
  3. dsaunier
    dsaunier WRInaute discret
    Inscrit:
    19 Novembre 2005
    Messages:
    56
    J'aime reçus:
    0
    Merci de la réponse,
    J'ai quand même l'impression que ce premier mot-clef que j'utilise aussi pour déterminer la page PHP sert quand même en référencement puisque certaines pages seront donc appelées references-diagnostic-lot.html et d'autres dans une autre partie services-diagnostic-etudes.html par exemple, donc cela parle du sujet de la page ?

    Le principe de rewrite que tu soulignes m'a l'air parfait mais seulement dans le cas d'une partie du site, ici il n'y a donc pas QUE des pages décrivant les références : partie Services, partie Contact, etc.

    Ce qu'il me faudrait reviendrait donc à une sorte de htaccess dynamique qui ferait

    Si le terme de l'URL dépend de la partie Références, alors
    RewriteRule ^(*.)-(.*)-(.*).html$ references.php?$1=$2&dpt=$3

    Si le terme de l'URL dépend de la partie Services, alors
    RewriteRule ^(*.)-(.*)-(.*).html$ services.php?$1=$2&dpt=$3

    etc. J'avais construit les URLs de manière à ce que ce premier terme serve un peu en référencement et aussi en technique pour appeler le template pertinent...je suis ouvert à toute critique ! ;)
     
  4. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 688
    J'aime reçus:
    2
    Ce n'est plus le même cas que cité précédemment :
    De toute facon dans ton fichier html généré l'url sera marquée en dur
    references-culture-tarn.html.

    Il faudrait donc tester dans ton fichier PHP, les mots clés passés en paramêtres ici si $2== culture alors on affiche la page culture du dpt $3 (tarn).

    J'ai l'impression que ton problème vient du nom de tes variables PHP et non de l'url Rewriting... :/

    service=diagnostic
    secteur=xxx...
     
  5. dsaunier
    dsaunier WRInaute discret
    Inscrit:
    19 Novembre 2005
    Messages:
    56
    J'aime reçus:
    0
    C'est peut être mon explication qui aurait pu être plus détaillée mais je ne voulais pas compliquer. En fait on est bien dans le même cas, le site fonctionne en plusieurs parties, et dans l'une d'entre elles, Références, on peut choisir le mode d'affichage, par service rendu ou par secteur d'activité. Les liens seront bien en dur mais il y aura deux menus de liens "en dur" différents pour cette section selon l'affichage choisi, le 1er comportant des liens HTML qui se transforment en references.php?service=... et le 2nd qui les modifie en references.php?secteur=...

    Dans la page PHP il y aura bien un test sur les termes composant l'URL, ma question était de savoir si je pouvais dans l'htaccess faire des tests logiques pour savoir comment réécrire les URL car sinon cela oblige à mettre en dur dans ce fichier des termes exacts pour toutes les langues, alors que tout le site est dynamique et que ces mots-clefs peuvent changer.

    La question reste en fait aussi le choix des URL à écrire, et je ne sais pas si mes choix sont les bons : je pourrais aussi avoir site/fr/references/culture-tarn.html et en analysant que le nom de page commence par culture, savoir que l'affichage est par secteur de client, mais pas facile de choisir le type d'URL qui sera le mieux pour Google.
    Merci de l'aide en tous cas !
     
  6. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 688
    J'aime reçus:
    2
    Attention au duplicate content... ca va te faire faire des redirections 301 de partout c'est assez dangerous.

    Le choix de l'URL est bon pour ma part.

    Dans le htaccess
    Code:
    RewriteRule ^references/(.*)-(.*).html$	 references.php?$1=$2 [NC,L]
    Du coup dans ton php tu peux tester
    Code:
    if (isset($_GET['culture']))
    {//affichage service rendu}
    else
    {//affichage secteur activité}
    Voila voila
     
Chargement...
Similar Threads - Conditions logique fichier Forum Date
Conditions Segments avancés Google Analytics Google Analytics 4 Février 2020
Microsoft modifie ses conditions d'utilisation (CGU) Droit du web (juridique, fiscalité...) 20 Novembre 2018
Avoir AdWords et conditions AdWords 14 Décembre 2017
conditions php Développement d'un site Web ou d'une appli mobile 19 Mars 2017
Améliorer une suite de conditions php Développement d'un site Web ou d'une appli mobile 10 Novembre 2016
Conditions générales de vente et devis Droit du web (juridique, fiscalité...) 30 Octobre 2015
Les pages "conditions" et "Mentions légales" Débuter en référencement 21 Décembre 2013
Conditions légales ou pas? Droit du web (juridique, fiscalité...) 14 Novembre 2013
Background image sous conditions Développement d'un site Web ou d'une appli mobile 8 Avril 2013
Quel mention des conditions sur une facture de prestation en référencement ? Droit du web (juridique, fiscalité...) 7 Mars 2013
Quelles sont les conditions pour indexer mon site dans Google news ? Google : l'entreprise, les sites web, les services 10 Octobre 2012
Conditions pour avoir un Blog "perso" référencé ds Google Actualités Débuter en référencement 21 Juin 2012
Problème url-rewriting multi-conditions URL Rewriting et .htaccess 20 Juin 2012
Plusieurs conditions .htaccess. Comment faire? URL Rewriting et .htaccess 19 Avril 2012
Aide pour des conditions php Développement d'un site Web ou d'une appli mobile 31 Janvier 2012
Indexer une page avec des conditions Problèmes de référencement spécifiques à vos sites 25 Janvier 2012
Array.sort() Javascript avec 2 conditions Développement d'un site Web ou d'une appli mobile 2 Décembre 2011
Problème url-rewriting multi-conditions Développement d'un site Web ou d'une appli mobile 5 Octobre 2011
Google+ : quid des conditions de diffusion des photos ? Google+ 4 Août 2011
2 conditions semblables URL Rewriting et .htaccess 25 Mai 2011