[PHP - Apache - htaccess] Rewrite mode

Rewrite mode [PHP - Apache - htaccess] - PHP - Programmation

Marsh Posté le 21-01-2009 à 19:33:16    

Bonjour tout le monde,
 
J'ai téléchargé un script gratuit (DIP) pour uploader des images sur mon serveur... Lorsque je l'installe sur mon serveur dédiée (dedibox sous debian), tout fonctionne parfaitement du premier coup, seulement sur mon serveur perso (windows + WAMP), j'avais un internal server error causé par le htaccess. En fouillant dans les errors logs d'apache j'ai compris que c'était à cause du rewrite mode qui n'était pas activé.
 
Je l'ai activé, et maintenant, voyez le problème.... :
http://www.izipik.com/images/20090121/tbnkos9i1llashplrf67v-image_1.png
 
Sur pas mal de lignes comme l'ascenseur l'indique :D
 
Le contenu du htaccess :
 

Code :
  1. # BEGIN DPIOptions
  2. RewriteEngine On
  3. RewriteRule ^thumb-(.*)\.jpg$ thumb.php?id=$1 [L]
  4. RewriteRule ^image-(.*)\.jpg$ image.php?id=$1 [L]
  5. RewriteRule ^image-(.*)\.gif$ image.php?id=$1&gif [L]
  6. RewriteRule ^share-(.*)\.html$ share.php?id=$1 [L]
  7. RewriteRule ^gallery-(.*)-(.*)-(.*)\.html$ gallery.php?id=$2&page=$3 [L]
  8. RewriteRule ^gallery-(.*)-(.*)\.html$ gallery.php?id=$2 [L]
  9. RewriteRule ^archive-(.*)\.html$ archive.php?page=$1 [L]
  10. RewriteRule ^galleries-(.*)\.html$ archive.php?page=$1 [L]
  11. RewriteRule ^content-(.*)\.html$ content.php?$1 [L]
  12. RewriteRule ^profile-(.*)\.html$ profile.php?id=$1 [L]
  13. RewriteRule ^images-(.*)\.html$ images.php?date=$1 [L]
  14. # END DPIOptions


 
Une idée ?
 
Merci :jap:

Reply

Marsh Posté le 21-01-2009 à 19:33:16   

Reply

Marsh Posté le 21-01-2009 à 20:20:24    

C'est simplement le code qui s'affiche, tu dois avoir une balise <?php qui manque.

Reply

Marsh Posté le 21-01-2009 à 20:50:38    

C'est ce que j'ai pensé au début, mais après lecture du code, non, et surtout ça fonctionne parfaitement avec le même dossier sur mon serveur web (j'ai simplement glissé déposé sur mon FTP :D)

 

EDIT : Les balises sont simplement <? (sans le php), c'est possible que ça merde avec Windows cette forme là ? J'vois pas pourquoi mais bon... J'ai essayé de les remplacer par des <?php dans tout le fichier install.php et c'est pareil t'façon :/

Message cité 1 fois
Message édité par Funky Max le 21-01-2009 à 20:59:12
Reply

Marsh Posté le 21-01-2009 à 21:01:20    

La première ligne te donne au moins deux pistes :
- un dossier non accessible en écriture  
- un fichier qui n'existe pas (dpl_init.php, crée par le script dans le dossier sus nommé ?)
 
Donne moi l'acces au serveur et je fixe ça :D

Reply

Marsh Posté le 21-01-2009 à 21:04:58    

Si tu veux :D  
 
Après le petit FIFA FIFA j'te file même un accès VNC si tu veux :o
 
Pour les pistes j'avais été voir justement, le fichier existe, et le dossier est "normalement" accessible en écriture. Normalement car pas de chmod sous windows mais il n'est pas bloqué via NTFS...

Reply

Marsh Posté le 21-01-2009 à 22:03:43    

Ce résultat là, ça serait pas une solution de contournement à la "je peux pas modifier le fichier alors j'affiche tout ce que j'aurais du mettre dedans en oubliant de dire au débutant qu'est en face ce qu'il doit en faire"?
Si on couple ça à un script qui teste le chmod au lieu d'essayer d'ouvrir le fichier en écriture ça peut donner un résultat amusant avec des os qui gèrent les droit différemment.
 
Mais bon, c'est juste une idée comme ça.

Reply

Marsh Posté le 21-01-2009 à 22:28:27    

C'est fort possible oui :D

 

Mais j'ai essayé de commenter les lignes qui check le CHMOD et j'ai le même résultat... Par contre il devrait pouvoir écrire dans le fichier normalement (droits NTFS non modifiés)


Message édité par Funky Max le 21-01-2009 à 22:29:34
Reply

Marsh Posté le 22-01-2009 à 09:13:43    

Funky Max a écrit :

EDIT : Les balises sont simplement <? (sans le php), c'est possible que ça merde avec Windows cette forme là ? J'vois pas pourquoi mais bon... J'ai essayé de les remplacer par des <?php dans tout le fichier install.php et c'est pareil t'façon :/


En tout cas, ça merde avec easyPHP...
 
Voir la doc Pear :

Citation :

Utilisez toujours <?php ?> pour délimiter du code PHP, et non la version
abrégée <? ?>. Cela est obligatoire pour être conforme aux règles de PEAR et
c'est aussi la méthode la plus portable pour inclure du code PHP sur des
systèmes d'exploitations disposant de configurations différentes.


A priori, la gestion des balises d'ouverture se fait dans le php.ini

Reply

Marsh Posté le 22-01-2009 à 10:30:51    

Je ne comprends pas que je n'ai pas cherché plus loin de ce côté, effectivement, il y avait bien une ligne à changer dans le php.ini

 
Code :
  1. short_open_tag = OFF
 

qu'il fallait passer en

 
Code :
  1. short_open_tag = ON
 

Merci macgawel :jap:


Message édité par Funky Max le 22-01-2009 à 10:31:11
Reply

Sujets relatifs:

Leave a Replay

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