rewriting du dossier img

Nouveau WRInaute
Bonjour,

Comme j'en ai marre de rajouter à toutes mes URL relatives d'images, l'URL de base de mon site :

ex :
Code:
<img src="<?=URL_BASE;?>img/logo.png" title="monsite" alt="monsite.com" width="271" height="65" />

n'y a t'il pas moyen de faire :

Code:
ReWriteRule ^img/([^?/]+).(gif|png|jpg)$ http://www.monsite.com/img/$1

En clair de dire à apache dès que tu vois un chemin vers le dossier (réel) img/... , peut importe le dossier virtuel de la page ou tu te trouve, le chemin absolu est http://www.monsite.com/img/...

Merci d'avance de la réponse :)
 
WRInaute passionné
pourquoi ne pas utiliser la balise <BASE> qui est faites pour ça ?
(et non, elle n'est pas déprécié comme je peux l'entendre de temps à autre)

Personnellement, je m'en sers constamment vu que lorsque je dev pour un client, l'url n'est pas la même et à parfois plusieurs dossier, que l'url finale.

Du genre url_principale.com/dossier/nom_site/FICHIER_DEV

Et donc, si je veux avoir un rendu peu importe le dossier et ne pas devoir mettre "URL" (ou $url) à chaque src/href, je trouve que c'est l'idéal.

Seul "défaut", il ne faut jamais oublié de mettre le chemin complet de dossier. Exemple : ./truc/fichier.php quand t'es dans le dossier nom_site/truc/

Et donc dans ton cas, ça sera toujours ./img/ (au lieu de img/)
 
WRInaute impliqué
Pourquoi tu ne mets pas le chemin en absolu?

Code:
<img src="/img/logo.png" title="monsite" alt="monsite.com" width="271" height="65" />

C'est si simple...
 
Nouveau WRInaute
Pourquoi tu ne mets pas le chemin en absolu?

C'est ce que j'aimerais bien faire, mais comme une même page dynamique, peut avoir plusieurs url fictive du style:
"http://www.monsite.com/t/annonce/" et "http://www.monsite.com/t/annonce/marque/"
les images s'affichent bien sur l'url de base, car le chemin du dossier image est physiquement au bon endroit quand je suis sur les pages "http://www.monsite.com/t/", mais plus après :(

Extrait de mon htaccess
Code:
...
RewriteRule ^annonce/  /t/test9_css2.php?page=%1 [L]
RewriteRule ^annonce/([^?/]+) /t/test9_css2.php?page=annonce&marque=%1 [L]
...

(Merci pour les réponses rapides)
 
WRInaute impliqué
Quand tu met un chemin absolu comme je l'ai mis, il ne dépend pas de la page courante, par définition.

Bref, un chemin qui commence par / est absolu, c'est-à-dire qu'il part de la racine du site.

Franchement, je crois que c'est ce qu'il te faut.
 
Nouveau WRInaute
Quand tu met un chemin absolu comme je l'ai mis, il ne dépend pas de la page courante, par définition.

Bref, un chemin qui commence par / est absolu, c'est-à-dire qu'il part de la racine du site.

Franchement, je crois que c'est ce qu'il te faut.

c'est vrai, je suis dans mon repertoire "t" pour test et si je mets le /t/img/... dès le départ tous s'affiche bien :) que je sois dans mes repertoires fictifs '../annonce/ ou .../annonce/marque/'

Merci pour ces réponses rapides !
 
Discussions similaires
Haut