URL Rewriting...

Pochtroi

Membre actif
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 :

Bloc de code:
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:
 

p4bl0

Membre expert
Club MacG
12 Juillet 2004
4 772
423
32
$PWD
p4bl0.net
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 ^^).


:)
 

Benjamin D.C.

Membre expert
Club MacG
10 Décembre 2004
2 950
335
37
Belgium
deaxon.com
Tu mets un vrai lien dans hraf et un onclick de la form onclick="uneFonction(this.href, autre, param, sibesoin);".
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.
 

p4bl0

Membre expert
Club MacG
12 Juillet 2004
4 772
423
32
$PWD
p4bl0.net
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.
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.