Bonjour a tous,
Après avoir fais une recherche sur votre forum mais sans succès je me permet d'ouvrir ce post.
Je réalise actuellement une site php en une seul page avec un menu qui renvoi sur des ancres html.

Navigation très simple :
http://www.kw-paysage.com/index.php#sec2
http://www.kw-paysage.com/index.php#sec3
http://www.kw-paysage.com/index.php#sec4
http://www.kw-paysage.com/index.php#sec5


J'aimerais maintenant utiliser une redirection htaccess pour pouvoir utiliser un lien html pour chacune de mes sections comme ci-dessous:


Options +FollowSymlinks 
RewriteEngine on 
RewriteBase /
RewriteRule ^Kubler-et-Wolfarth-Paysagiste.html$ index.php [L]
RewriteRule ^Kubler-et-Wolfarth-Votre-projet.html$ index.php#sec2 [L]
RewriteRule ^Kubler-et-Wolfarth-Nos-realisations.html$ index.php#sec3 [L]
RewriteRule ^Kubler-et-Wolfarth-Temoignages.html$ index.php#sec4 [L]
RewriteRule ^Kubler-et-Wolfarth-Contactez-nous.html$ index.php#sec5 [L]


J'aimerai juste avoir le même résultat avec ce lien : http://kw-paysage.com/Kubler-et-Wolfarth-Contactez-nous.html
que avec ce lien : http://kw-paysage.com/index.php#sec5

je n'arrive pas a faire fonctionner mon script ci-dessus, quelqu'un aurait une idée ?
Merci bcp,
Julien.
Bonsoir databox,

Il me semble que vous confondez plusieurs choses.

La réécriture d'URL :

Quand vous utilisez un # dans une URL (ex : http://www.kw-paysage.com/index.php#sec2), vous demandez explicitement à pointer un élément dans la page ayant un id="sec2". Un clic sur ce type d'URL ne rechargera aucune page puisque c'est un pointage interne.

Remplacez le # par un ?, et là vous aurez une URL qui transmettra un paramètre au serveur, et qui sera traitée dans la réécriture d'URL..

Le scrolling automatique :

Le site http://kw-paysage.com/Kubler-et-Wolfarth-Contactez-nous.html exploite les ancres (avec le #), et c'est le module JS qui s'occupe du traitement et du défilement automatique. Le PHP et la réécriture d'URL n'interviendront jamais dans ce cas.

Espérant que ces informations vous auront éclairé le sujet.
Bonnes recherches et bon code...
Modifié par Guiwint (18 Mar 2014 - 21:23)
Bonsoir Guiwint,

En faite je distingue bien les 2 choses, je n'utilise aucun paramètre dans mon url index.php.
J'aimerai juste savoir si je peux réécrire l'url index.php#sec5 en Kubler-et-Wolfarth-Contactez-nous.html par exemple.
Rebonsoir,

Donc si je comprends bien votre approche, vous souhaitez que dans le rendu HTML de votre page, l'URL index.php#sec5 soit transformée en Kubler-et-Wolfarth-Contactez-nous.html ?
en quelque sorte.
Je dirais plutôt que l'url Kubler-et-Wolfarth-Contactez-nous.html charge la page index.php#sec5
si vous essayé l'url http://kw-paysage.com/Kubler-et-Wolfarth-Contactez-nous.html la page index se charge correctement car je l'ai défini dans le htaccess.
J'aimerais juste que la page s'ouvre sur index.php#sec5.

RewriteRule ^Kubler-et-Wolfarth-Contactez-nous.html index.php#sec5 [L]
Je comprends mieux votre besoin. Du coup je comprends aussi que j'ai répondu à côté du sujet Smiley langue .

Donc vous voulez qu'en cliquant sur Kubler-et-Wolfarth-Contactez-nous.html, celà pointe sur index.php#sec5.

Dans le cas 1 - Nous utilisons directement http://kw-paysage.com/index.php#sec5, et nous sommes bien repositionné sur le formulaire de contact.

Dans le cas 2 - Nous utilisons http://kw-paysage.com/Kubler-et-Wolfarth-Nos-realisations.html, mais nous ne sommes pas repositionné sur le formulaire de contact.

Dans le cas 2, le problème vient du fait qu'il faut faire apparaître explicitement index.php#sec5 dans l'URL, or la réécriture d'URL avec le fichier .htaccess est interne au serveur. Du coup il me semble que la piste à suivre ne serait pas une réécriture, mais plutôt une redirection, afin que l'URL dans le navigateur soit modifiée. Exemple :
Redirect permanent /Kubler-et-Wolfarth-Contactez-nous.html /index.php#sec5
Plus d'info sur Open Classrooms - La redirection HTTP

Espérant avoir répondu à votre attente.
Bonne soirée et bon code...
Modifié par Guiwint (18 Mar 2014 - 22:31)
Cela fonctionne bien même si je vois au final l'url index.php et nom pas l'url .html
Merci pour votre aide