Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

URL Rewriting...

Discussion dans 'Développement web' créé par Pochtroi, 4 Décembre 2008.

Modérateurs: Nephou
  1. Pochtroi

    Pochtroi Membre confirmé

    Inscrit:
    13 Mars 2005
    Messages:
    383
    J'aime reçus:
    9
    Bonjour,

    Mon site est construit avec un en-tête, un contenu et un pied de page. Seul le contenu est rechargé à chaque clic grâce à javascript:ahah. Les robots semblent visiter directement les fichiers de contenu, donc sans les en-tête et pied de page : moches pour l'utilisateur mais bien compréhensibles pour les robots.

    Pour bien rediriger les utilisateurs, quand un clic intervient à partir du site (utilisateur), des variables sont passées en $_GET pour connaitre la page d'origine et la page d'arrivée. Si aucune variable n'est passée (vient d'un moteur de recherche), il doit être redirigé vers l'index (avec en-tête et pied de page) avec un argument définissant le contenu à afficher.

    J'utilce ce code dans le htaccess :

    Code (Text):

    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} !Bot
    RewriteRule .*Fratelibenar-(.*).php$ http://test.accordeons-fratelibenar.fr?current=$1 [NC,L]
     
    Le $ est censé lui dire de ne faire la redirection uniquement si l'adresse entrée se termine par .php, donc s'il n'y a pas d'argument $_GET.

    Pourtant, quand on clique la première fois sur un lien, les en-tête et pied de page sont rechargés (ce qui fait un double en-tête et un double pied de page sur la page) et ça fait dégueulasse. :( Voir sur mon site

    On dirait qu'il ne prend en compte le $ sur la dernière ligne qu'après le premier clic.

    Si je retire le htaccess, ca marche beaucoup mieux mais les liens google deviennent crados (page chargée en brut sans en-tete et pied de page et sans css, contenus dans index.php) Voir ici

    J'aimerais bien savoir ce qui merde dans mon URL Rewriting. J'espère beaucoup de votre aide, cet ordi va me rendre fou :mad:
    Merci :zen:
     
  2. tatouille

    tatouille Vétéran

    Inscrit:
    1 Juin 2004
    Messages:
    5 174
    J'aime reçus:
    494
  3. p4bl0

    p4bl0 Membre d’élite
    Club MacG

    Inscrit:
    12 Juillet 2004
    Messages:
    4 772
    J'aime reçus:
    425
    Avant ça il faudrait revoir la structure du site qui n'est pas du tout accessible et le code pas valide.

    De plus est ce que ça apporte quoi que ce soit à ce genre de site d'utiliser du ajax pour reloadé qu'un bout de la page ?

    Je comprend que ce soit funky au développement ;) mais ça n'apporte rien et tu pers en accessibilité. Honnêtement je te conseil de laisser tomber et de faire des vrai pages qui se recharge :).

    Et aussi il faut rendre tes liens javascript utilisable quand js est désactiver. Tu mets un vrai lien dans hraf et un onclick de la form onclick="uneFonction(this.href, autre, param, sibesoin);".
    uneFonction doit retourner false si elle s'est bien passé, comme ça le browser ne suit pas la lien, et sinon (par exemple si il n'y a pas de JS) le browser le suit. (this.href c'est justement ce que contient l'attr href de ton lien).

    Pour tes menu déroulant par exemple tu devrais utiliser ça, mais c'est faidable avec moins de js et plus de CSS de manières plus simple et plus accessible et certainement plus valide, va voir du côté de pompage ou alsacreation (ou des posts de gloup gloup, t'aura des liens vers ces deux sites ^^).


    :)
     
  4. Benjamin D.C.

    Benjamin D.C. Membre d’élite
    Club MacG

    Inscrit:
    10 Décembre 2004
    Messages:
    2 950
    J'aime reçus:
    336
    Moui enfin idéalement on essayera d'éviter ça tant que possible. Hormis cas exceptionnels, la seule apparition acceptable de JavaScript dans un document HTML est un fichier externe lié, idéalement dans le head.
     
  5. p4bl0

    p4bl0 Membre d’élite
    Club MacG

    Inscrit:
    12 Juillet 2004
    Messages:
    4 772
    J'aime reçus:
    425
    Oui c'est vrai, si on utilise jQuery par exemple on peut facilement tout faire depuis javascript en bindant des fonctions aux différents events, mais j'ai pas vu (pas fais gaffe) si le site utilisé une librairie de ce type ou pas :).

    Mais sans framework js c'est chiant à faire ce genre de truc.
     
  6. Benjamin D.C.

    Benjamin D.C. Membre d’élite
    Club MacG

    Inscrit:
    10 Décembre 2004
    Messages:
    2 950
    J'aime reçus:
    336
    C'est moins confortable, mettons. ;)
     
Modérateurs: Nephou
Chargement...