Probleme Rewrite

Probleme Rewrite - PHP - Programmation

Marsh Posté le 24-08-2005 à 11:41:18    

Bonjour tout le monde !!
 
J'ai une question qui me turlupine l'esprit :  
 
Voila j'ai fait mon url rewriting dont voici le code :

Code :
  1. RewriteEngine on
  2. RewriteRule ^([^-]*)/([^-]*)\.htm$ $1.php?p=$2 [L]
  3. RewriteRule ^([^-]*)/([^-]*)-([^-]*)-([^\.]*)\.htm$ $1.php?p=$2&$3=$4 [L]


 
Et je voudrai savoir comment palier au erreur d'affichage et de location CSS du au repertoire creer a cause des / dans le code ...  
 
http://www.x-fun.org/home/chat.htm
 
Pourquoi cela fait cet affichage ??
 
 
Merci par avance !

Reply

Marsh Posté le 24-08-2005 à 11:41:18   

Reply

Marsh Posté le 24-08-2005 à 11:52:24    

normal, il va chercher /home/style.css
donc deux soluces :
- tu met "/style.css" dans ton tag css
- ou tu fais du rewriting
 
le problème avec les images est le même

Reply

Marsh Posté le 24-08-2005 à 11:59:33    

titanhermes a écrit :

http://www.x-fun.org/home/chat.htm
 
Pourquoi cela fait cet affichage ??


Paske les chemins de tes images et fichiers externes sont tous moisis [:dawa]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-08-2005 à 12:09:42    

Oui mais vu que jutilse du rewrite et il existe pas un code qui pourra ime permettre de ne pas mettra un / a chaque image ?

Reply

Marsh Posté le 24-08-2005 à 13:08:18    

http://forum.hardware.fr/forum2.ph [...] 1#t1182760
[:klem3i1]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-08-2005 à 13:14:40    

un code non. Mais suffit de bien réfléchir à où se trouve les fichiers pour savoir comment doivent être les liens.
Là, t'es dans le dossier home. Et l'image, tu lui dis qu'elle est situé dans le dossier imgs situé dans le dossier où se trouve la page html (abscence du /)
Donc soit tu lui donnes le lien relatif (rajout au besoin de ../ pour chaque niveau de dossier qu'on doit remonter) soit tu lui donnes le liens absolut. (a l'aide du / )
 
En tout cas, tant que tu diras au navigateur de chercher là où il n'y a rien, le navigateur ne poura pas trouver ce qu'il cherche.

Reply

Marsh Posté le 24-08-2005 à 13:20:51    

Tu peux aussi rewriter les liens des ressources on ze flaye [:dawa]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-08-2005 à 13:26:03    

Si je me trompe pas, avec les deux régles qu'il a mis là haut, il y a juste les fichiers .htm qui sont rerouté vers des fichiers .php . Tout le reste reste intact, alors c'est simplement à lui de mettre les liens comme il faut s'il veut que ca marche.
Franchement, je vois pas où est la difficulté vu que les RewriteRule qu'il indique ne modifieront pas les liens vers les images.

Reply

Marsh Posté le 24-08-2005 à 14:45:19    

Justement si, ça modifie les liens relatifs [:dawa]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-08-2005 à 17:39:24    

Je viens de réaliser que le répertoire du .htm virtuel n'était pas le même que celui du .php correspondant. :lol:
 
au tout début de la page :

Code :
  1. ob_start();


à la fin du script :

Code :
  1. $page=ob_get_clean()


On recherche ensuite les liens (comme début : 'href="' comme fin le '"' suivant non précédé par un nombre impair de "\" ) avec vérification que ca soit un lien relatif (non présence de "://" et qui ne commence pas pas "/" ) auquel on applique la modif de répertoire
et finalement, on renvoie le contenu de la variable
 
Désolé de ne pas poster de script tout fait pour ça mais j'ai ni le temps ni de php pour tester ici.

Reply

Sujets relatifs:

Leave a Replay

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