Problème avec succession de rewriterules

Nouveau WRInaute
Bonjour,

Je rencontre un problème avec une succession de rewriterules.

Mon fichier httpd.conf est comme suit :
Code:
<VirtualHost 192.168.1.10>
ServerName         192.168.1.10
<IfModule mod_rewrite.c>
Options +FollowSymLinks 
RewriteEngine On
RewriteLog /tmp/rewrite_log
RewriteLogLevel 9
RewriteCond %{REQUEST_URI} ^/cartographie-expertne/([expert/]+)/([0-9/]+)$
RewriteRule cartographie-expertne/([^\/]+)/([^\/]+)$  cartographie-expertne?$1=$2 [P]  
RewriteCond %{REQUEST_URI} ^/cartographie-domaines/([domaine/]+)/([^\/]+)$
RewriteRule cartographie-domaines/([^\/]+)/([^\/]+)$ cartographie-domaines?$1=$2 [P]
RewriteCond %{REQUEST_URI} ^/cartographie-groupe_fonctionnalites/([groupe/]+)/([^\/]+)$
RewriteRule cartographie-groupe_fonctionnalites/([^\/]+)/([^\/]+)$ cartographie-groupe_fonctionnalites?$1=$2 [P]
RewriteRule  ^/(.*)  http://192.168.1.50:8080/experfree/fr/$1 [P]  
ProxyPassReverse   /    http://192.168.1.50:8080/experfree/fr/
CustomLog    /tmp/apache_acces_fr.log common
</IfModule> 
</VirtualHost>

Lorsque je tape l'uri http://192.168.1.10/cartographie-expertne/expert/629030, la réécriture a lieu sans problème. Par contre, une fois arrivé sur cette page, tous les liens qui figurent sur cette page sont réécrits de manière incorrecte : par exemple, http://192.168.1.10/accueil est devenu http://192.168.1.10/cartographie-expert ... rt/accueil ou http://192.168.1.10/cartographie-domaines/domaine/ERP est devenu http://192.168.1.10/cartographie-expert ... omaine/ERP.

Comment puis-je éviter cela ?

Merci pour votre aide.
 
WRInaute occasionnel
Question probablement idiote, mais les liens ne sont pas de la forme
Code:
<a href='accueil.php'>Accueil</a>
par hasard? Je ne vois rien qui pourrait déclencher ce genre de comportement dans le rewriting. A noter aussi que la syntaxe
Code:
[expert/]+
accepte en fait tous les caractères compris dans les [], à savoir exprt/, ce qui n'est pas gênant en soi mais n'est probablement pas ce que vous voulez.
 
Nouveau WRInaute
En fait, tous les liens de mon site sont relatifs, de type :

Code:
<a href="cartographie-domaines/domaine/{CODE}">

J'ai également un problème d'affichage des images (.png) et du style de mes pages (.css).
Lorsque je regarde le log, le système recherche ces fichiers au niveau :
Code:
http://192.168.1.50:8080/experfree/fr/
Or, ces fichiers se trouvent au niveau :
Code:
http://192.168.1.50:8080/experfree/
dans un répertoire css et un répertoire images.

Merci de votre aide.
 
WRInaute occasionnel
Et ce n'est pas possible de mettre tous les liens et appels de ressources en absolu dans votre source HTML? Par exemple

Code:
/cartographie-domaines/domaine/{CODE}
/accueil.php
/images/image.png

Il est possible de faire de l'URL rewriting pour ce genre de choses, mais les appels vont devenir très compliqués à gérer alors qu'en absolu vous garderiez les transformations à un niveau raisonnable.
 
Discussions similaires
Haut