URL Rewriting sur une image !

Nouveau WRInaute
Bonjour à tous !

Je vous explique donc ce que je souhaiterais faire :
- j'ai des images sur mon hebergeur actuel (phpnet), or celui me compte du trafic avec les images ... j'en consomme enormement
- je souhaiterais donc mettre toutes les images chez un truc gratos (free ou wanadoo)
- je souhaiterai mettre en place un url rewriting de toutes les images, comme ça je ne modifie aucun fichier (yen a trop)

voici ce que j'ai fais :

1- un fichier img.php pour rediriger les images
Code:
<? Header("Content-type: image/jpeg");
   Header("Location: http://perso.wanadoo.fr/moncompte/".$fic);
?>
Comme ça si on ouvre http://www.monsite/img?fic=image.jpg on obtient http://perso.wanadoo.fr/moncompte/image.jpg (ça marche nickel)

2- j'ai donc créé un url rewrite dans le htaccess

(note : je tiens à dire que je n'ai pas oublié de lancer RewriteEngine on avant de faire ma règle)

j'ai donc essayé plusieurs règles, mais aucune ne marche :-/ ... les voici :

Code:
RewriteRule ^(.+)\.jpg$ img.php?fic=$1.jpg [NC,L]
RewriteRule ^([a-z]+)\.jpg$ img.php?fic=$1.jpg [NC,L]
RewriteRule ^(.*).jpg$ img.php?fic=$1.jpg
RewriteRule .*\.jpg$ img.php?fic=$1.jpg

j'ai créé ces règles en me servant de nombreux tutos trouvés sur le net ... ou autre !

je voulais donc savoir si c'était impossible à mettre en place mais ça m'étonnerait ou si c'est moi qui ai fait une erreur de synthaxe !

j'espère que vous allez pouvoir m'aider !!! j'en ai absolument besoin !!

merci d'avance !
 
WRInaute occasionnel
Salut,

Les variables GET se trouvent dans l'array $_GET, je suis étonné que ton code fonctionne, a moins que ce ne soit qu'un bout du code.J'aurais plutôt vu :
Code:
<? Header("Content-type: image/jpeg");
   Header("Location: http://perso.wanadoo.fr/moncompte/".$_GET['fic']);
?>

Maintenant ne serait il pas mieux de faire directement la redirection dans le .htaccess ?
Exemple:
Code:
RewriteRule (.*)\.jpg$ http://perso.wanadoo.fr/moncompte/$1.jpg [L,R=301]
Sinon, tes images sont elles dans un répertoire ? Si c'est le cas : il faut que cela apparaissent dans la règle de redireciton. Là tes règles sont prévu pour des images à la racine.

Mirgolth
 
Nouveau WRInaute
Oki ! Alors ça marche nickel !

MAis je voudrais savoir comment tu fais alors quand il y a des repertoires ?

(au moins un repertoire "images" regroupant la totalité des images du site !)

merci bcp !
car je ne connais pas du tout l'url rewrite ... et c assez complexe !!
 
WRInaute occasionnel
zyk a dit:
Oki ! Alors ça marche nickel !
Tu utilise quoi finalement ? la redirection dans le .htaccess ?
zyk a dit:
MAis je voudrais savoir comment tu fais alors quand il y a des repertoires ?

(au moins un repertoire "images" regroupant la totalité des images du site !)
Pour un répertoire ça donnera :
RewriteRule mesimages/(.*)\.jpg$ http://perso.wanadoo.fr/moncompte/$1.jpg [L,R=301]
C'est simple l'UR, non ? :wink:

Mirgolth
 
Nouveau WRInaute
ben g fais avec les 2 codes que tu as donné !!

ok pour le repertoire ! lol

et ya pas un moyen de récupérer automatqiuement le nom du rep si jamais ?
 
WRInaute occasionnel
zyk a dit:
ben g fais avec les 2 codes que tu as donné !!
Le second rend le premier inutile.

zyk a dit:
et ya pas un moyen de récupérer automatqiuement le nom du rep si jamais ?
Si c'est possible avec les parenthèses, tu réutilise le mot mactché avec $x et x entre 1 et 9.
Code:
RewriteRule (.*)/(.*)\.jpg$ http://perso.wanadoo.fr/moncompte/$1/$2.jpg [L,R=301]

Mirgolth
 
Nouveau WRInaute
euh ... et si je veux exclure un dossier a cette règle ....

ex :
monsite.com subit toutes ces règles
mais je veux que monsite.com/forum ne soit pas affecté !

comment je peux faire ?
 
WRInaute occasionnel
zyk a dit:
euh ... et si je veux exclure un dossier a cette règle ....
Salut,

Regarde du coté de RewriteCond dans la doc apache.
Exemple:
Code:
RewriteCond %{REQUEST_URI}  !^/forum/.*
RewriteRule (.*)/(.*)\.jpg$ http://perso.wanadoo.fr/moncompte/$1/$2.jpg [L,R=301]
Mirgolth
 
Discussions similaires
Haut