Url rewriting et répertoire virtuel

WRInaute discret
Bonjour,


Alors je m'explique :

Je possède un site avec une galerie avec des url déja rewrité :


Code:
RewriteEngine On
RewriteRule ^references-(.*)-([0-9]*).* /references.php?photo=$1&photoPic=$2

ce qui a donc pour but de me transformer :

http://www.monsite.com/reference.php?ph ... photoPic=0

en ceci :

http://www.monsite.com/references-paysage-0.php


Je me rend compte qu'il serais mieux de faire une url comme ceci :

http://www.monsite.com/references/paysage/0.php



Comment dois-je faire car lorsque je fais un truc du genre :

Code:
RewriteRule ^references/(.*)/([0-9]*).* /references.php?photo=$1&photoPic=$2

...les url des images de mon interface graphique n'est plus bon.


merci d'avance :)
 
WRInaute discret
Après de longue recherche j'ai fini par trouver pour les personnes ayant le même problème.

Pour les images de mon interface :

A mettre dans <head> :


Code:
<base href="http://www.monsite.com">

et mon fichier htaccess :

Code:
RewriteEngine On
RewriteRule ^references/(.*)/([0-9]*).php /references.php?photo=$1&photoPic=$2 [L]
 
Nouveau WRInaute
Bonjour à tous.
Je reviens sur ce problème. J'ai le même souci et la solution indiquée par laurentg25 pose d'autres problèmes.
En mettant le code "<base href=...>", ça fonctionne, mais si dans une page le lien est simplement <a href="#je_veux_aller_ici_dans_ma_page">, alors ça prend l'URL de base au lieu de prendre l'URL courante, donc ça sort de la page courante au lieu d'y rester.

Exemple :
Code:
URL de la page :
-http://www.monsite.com/monrepertoire/mapage.htm

Qui donne en interne quelque chose comme :
-http://www.monsite.com/index.php?maref1=monrepertoire&maref2=mapage

Si la page en question contient :
<a href="#je_veux_aller_ici_dans_ma_page">Mon lien</a>

Alors après le clique, l'utilisateur est dirigé ici :
-http://www.monsite.com/#je_veux_aller_ici_dans_ma_page

Je comprend bien pourquoi ça donne ça, je pourrais forcer une écriture complète de l'URL dans ce genre de lien pour corriger le problème.

MAIS, j'aimerai surtout comprendre comment font les sites avec des répertoires virtuels de ce type, qui n'utilisent pas le code d'en-tête <base ....> et qui s'en sortent très bien.
Donc je suppose que parmi vous certains pratiques ce genre de sport, si vous avez un début de piste, ça serait sympa !
Merci d'avance.
 
Nouveau WRInaute
Merci correiaj

Oui c'est ce que je disais précédemment par "je pourrais forcer une écriture complète de l'URL dans ce genre de lien pour corriger le problème".

Je suis quasiment sûr que d'autres font autrement. Je ne pense pas que tous les sites forces tous les liens en absolu. Je viens encore de vérifier, certains n'ont ni "<base ...>" dans le head, ni toutes les URLs en absolu (certaines oui, mais pas toutes).
Ils ont même du "#quelque_chose" (en relatif donc) qui fonctionne très bien.

Donc même si je peux m'en sortir autrement, j'aimerai comprendre ce qui peut être fait dans le .htaccess pour que tout se passe correctement quand on veut utiliser ces répertoires virtuels... ?

Merci encore.
 
Discussions similaires
Haut