url rewriting probleme !

url rewriting probleme ! - PHP - Programmation

Marsh Posté le 08-10-2004 à 13:31:48    

Bonjour
 
voila avec le url rewriting j'arrive a passé mon lien:
www.site.com/index.php?lang=fr
a
www.site.com/messages/index_fr.php
 
le probleme c'est que lorsque la page fr_index.php s'ouvre elle ne retrouve plus les images , le site croit que les images se trouve dans le repertoire messages alors qu'en fait c juste un repertoire virtuelle.
 
dans mon .htaccess j'ai :
 

Code :
  1. <FilesMatch "^messages$">
  2. ForceType application/x-httpd-php
  3. </FilesMatch>


 
dans mon fichier messages (sans extension) j'ai
 

Code :
  1. <?
  2. $tab=explode("/",$REQUEST_URI);
  3. $id=$tab[count($tab)-1];
  4. $vars=explode("_",$id);
  5. $voir=$vars[0];
  6. $lang=strtok($vars[1], "." );
  7. include("lire.php" );
  8. ?>


 
et dans lire.php j'ai:

Code :
  1. <?
  2. // on effectue ici les traitements correspondant aux paramètres
  3. // ici les paramètres sont accessibles par les variables $voir et $param (ces variables sont visibles ici car lire.php est inclus dans le fichier messages ou elle sont définit.)
  4. switch ($voir) {
  5. case "index" :
  6. include("index.php" );
  7. break;
  8. case "contacts" :
  9. include("contacts.php" );
  10. break;
  11. ......
  12. ..
  13. default :
  14. break;
  15. }
  16. ?>


 
 
et dans mon site j'appelle la page index_fr.php
qui dans cette exmeple sera indique comme www.site.com/messages/index_fr.php
mais la page ne retrouve plus les images que je fais appelle dans la page.
 
MA question serait comment eviter de passer par ce repertoire "messages" virtuelle ou comment faitre meme avec se repertoire virtuelle pour que ma page www.site.com/index.php?lang=fr et www.site.com/messages/index_fr.php marche et retrouve les images que j'appelles sans toucher l'arborescenec de mes images
 
merci d'avance


Message édité par saxgard le 08-10-2004 à 13:32:27
Reply

Marsh Posté le 08-10-2004 à 13:31:48   

Reply

Marsh Posté le 08-10-2004 à 13:35:49    

petite info supplementaire
 
dans mon site quand j'appelle les page d'index je les appelles avec l'adresse suivante:  

Code :
  1. messages/index_fr.php
  2. ou
  3. messages/index_en.php


 
de meme pour les pages contacts etc...
 
 
vaut-il mieux utilisé les

Code :
  1. RewriteEngine on
  2. RewriteRule ....


 
es-ce que ca evite d etoucher a ces scripts etc..
et es-ce plus simple?
et si les fichiers de configurations du serveur ou est hebergé mon site n'active pas ces fonctions es-ce que le site fonctionnera toujours normalment?
 


Message édité par saxgard le 08-10-2004 à 13:41:31
Reply

Marsh Posté le 12-10-2004 à 13:36:34    

pour ton premier probleme:
tu n'as qu'a remplacer <img src=image.gif> par <img src=/image.gif>
 
pour ton second problème:
quand quelque chose n'est pas activé comment veux tu que ca marche?
 
tu trolles ou quoi  :lol:


Message édité par show le 12-10-2004 à 13:37:14
Reply

Marsh Posté le 13-10-2004 à 12:45:21    

show a écrit :

pour ton premier probleme:
tu n'as qu'a remplacer <img src=image.gif> par <img src=/image.gif>
 
pour ton second problème:
quand quelque chose n'est pas activé comment veux tu que ca marche?
 
tu trolles ou quoi  :lol:


 
bin pour ta premiere remarque en faite faut utiliser la balise  

Code :
  1. <base href..


 
ensuite concernnat la remarque d'activation bin ca c'est pour la 2eme technique d'url rewriting celle ou il faut activer le module dans le httpd.conf si je me rappelle bien
 
docn je voix pas le rapport avec le trolle !!
 
sinon bin en fin de compte je suis bien passé par cette 2eme methode , mon hebergeur est configuré pour aussi , et tt se passe bien  ;o)

Reply

Marsh Posté le 21-10-2004 à 16:59:04    

show a écrit :

pour ton premier probleme:
tu n'as qu'a remplacer <img src=image.gif> par <img src=/image.gif>
tu trolles ou quoi  :lol:


 
J'ai le même problème, mais je veux utiliser un chemin relatif...
Personne n'a une idée ?
 
je voulais utiliser un système de répertoires virtuels pour gérer mes traductions, j'ai du finalement faire un système tout pourri à base de tirets car je n'ai pas résolu ce souci.  
(j'utilise "index-fr.html" Mais je préfèrerais un truc genre "/fr/index.html" )

Reply

Marsh Posté le 21-10-2004 à 17:03:00    

PunkRod a écrit :

J'ai le même problème, mais je veux utiliser un chemin relatif...
Personne n'a une idée ?
 
je voulais utiliser un système de répertoires virtuels pour gérer mes traductions, j'ai du finalement faire un système tout pourri à base de tirets car je n'ai pas résolu ce souci.  
(j'utilise "index-fr.html" Mais je préfèrerais un truc genre "/fr/index.html" )

<img src="../image.gif"> [:spamafote]
C'est la journée des problèmes d'adress relatives/absolues ? :D

Reply

Marsh Posté le 21-10-2004 à 17:10:06    

c'est pas le top, mes chemins relatifs sont bons en principe.
 
Avec de l'url rewriting le serveur (apache) va chercher les bons fichiers php (donc il comprend bien que le répertoire est en fait un paramètre), mais au moment d'aller chercher les images, le chemin tient toujours compte de ce paramètre virtuel et le traite comme un répertoire.
 
M'enfin, si c'est la seule solution, je vais devoir trafiquer le chemin relatif... Mais je trouve pas ça très propre (ben oui c'est pas le 'vrai' chemin relatif...)

Reply

Marsh Posté le 21-10-2004 à 17:12:57    

hmm... j'suis pas aidé, même ce forum (qui utilise le principe que je cherche à reproduire en quelques sortes) utilise le chemin absolu.
 
C'est une alternative à envisager aussi. Ptêtre plus facile à gérer avec un bon virtual host...

Reply

Marsh Posté le 21-10-2004 à 17:14:39    

PunkRod a écrit :

c'est pas le top, mes chemins relatifs sont bons en principe.
 
Avec de l'url rewriting le serveur (apache) va chercher les bons fichiers php (donc il comprend bien que le répertoire est en fait un paramètre), mais au moment d'aller chercher les images, le chemin tient toujours compte de ce paramètre virtuel et le traite comme un répertoire.
...

Ca c'est ton navigateur et c'est parfaitement normal !
Lui, il ne sait pas qu'apache réécrit en interne l'URL. Ca n'a rien de virtuel pour le navigateur !

Reply

Marsh Posté le 21-10-2004 à 17:16:29    

Certes... l'url rewriting n'est pas tout puissant :/
 
Bon, ça a élargi mes perspectives tout ça ! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed