url rewriting conditionnelle

Nouveau WRInaute
Bonjour à tous,

Je découvre les joies du htaccess et j'avoue que je m'y perds pour le moment...et j'ai donc besoin d'un conseil… et désolé si cette question a été posée 100 fois, mais je n’ai pas vraiment trouvé de réponse pour le moment.

Je crée un site fait tout en Ajax (gestionnaire de galeries de photos), pour diverses raisons, aucun rechargement de page, tout est construit dynamiquement en fonction de paramètres externes. Je sais qu’il fortement recommandé de ne pas utiliser les liens en javascript !
Certaines parties affichées sont appelées par un Ajax comme des pages de textes (CV, news etc). Les menus sont classiques avec des liens href du genre
"<li><a onclick="aff_contenu(158,'G','horiz','fr');aff_img_accueil(158,'G');return false;" target="_self" class="li_href" href="galerie-158-G-horiz-fr" >Photos</a></li>"

J'ai mis en place un url rewriting qui fonctionne :
RewriteRule ^galerie-([0-9]+)-([a-zA-Z]+)-([a-z]+)-([a-z]+)\.html$ /aff_galerie.php?idcat=$1&typecat=$2&typeaffhv=$3&lang=$4 [L]

Voici mon problème, certainement que d'autres ont :
Une page Ajax n'est que la partie de page à afficher dans une page principale. J'aimerais que cette page Ajax constituée de texte soit référencée par les moteurs. En revanche si cette page Ajax est référencée, le lien du moteur va indexer cette partie de page et non pas la page principale, donc la page affichée ne sera que la partie Ajax. Le but est de rediriger le lien de la page Ajax vers la page principale est de réafficher en fonction des paramètres récupérés dans l’url.

Comment puis-je rediriger mes pages en fonction de la source d'appel ???

Si l’appel vient d’un lien interne au site ou un robot alors rediriger vers aff_galerie.php ?....
Si l’appel vient d’un lien externe (n'étant pas un robot, rediriger vers index.php ?....

Puis je le faire avec le htaccess ? et comment l’écrire ?

Merci de vos réponses
 
WRInaute passionné
il faut que le HREF de tes liens pointe vers des pages complète. C'est seulement au clique que l'AJAX est appelé et "return false" évite de suivre le lien.
 
Nouveau WRInaute
Merci de ta réponse.
A priori, cela sera compliqué pour moi de mettre dans href une page complète, je dois voir comment faire.

Mais je reviens sur ma question stp :
Peut-on dans le htaccess créer une condition de redirection (rewrite) en fonction de l'origine (interne, moteur, liens externes etc) ???

N'aurais-tu pas un exemple ?

Merci
 
WRInaute passionné
le referer n'est pas toujours renseigné : ce n'est donc pas une information fiable. Sinon tu peux essayer d'utiliser "RewriteCond %{HTTP_REFERER} ..." mais il va falloir une ligne par moteur que tu veux rediriger.
 
Nouveau WRInaute
OK, merci de ta réponse
Je vois qu'effectivement que le "RewriteCond %{HTTP_REFERER} ne semble pas fiable à 100%, mais je vais chercher de ce côté
Merci une nouvelle fois :wink:
 
Discussions similaires
Haut