web-dev-qa-db-fra.com

la balise img ne fonctionne pas avec le chemin relatif dans src

Cela ne fonctionne pas:

<img src="../assets/images/image.jpg" alt="Alternative Text">

Mais cela fonctionne:

<img src="http://localhost/abc/def/geh/assets/images/image.jpg" alt="Alternative Text">

Dans mon scénario, je ne peux tout simplement pas travailler avec un chemin absolu. Je dois utiliser le chemin relatif.

8
PHP Developer

"../assets/images/image.jpg" - Cela signifie

  1. '../' monte d'un répertoire d'où je suis maintenant
  2. trouver le dossier 'assets /'
  3. trouver le dossier 'images'
  4. trouvez le fichier 'image.jpg'.

Ce lien relatif ne fonctionnera que si votre page se trouve dans un sous-dossier de

" http: // localhost/abc/def/geh/ "

Si l'emplacement de votre page est vraiment 

"localhost/asdf/asdf/asdf/asdf/index.php"

(ce qui semble ridicule) pour accéder au dossier des actifs, vous devez aller jusqu'à la racine.

'../../../../abc/deh/geh/assets/images/image.jpg;

Vous pouvez également utiliser une balise de base dans votre balise head pour rendre l'URL de l'attribut src réel plus convivial.

6
user2782001
<img src="assets/images/image.jpg" alt="Alternative Text">

devrait fonctionner.Vous n'auriez pas dû mettre '../' au début du chemin de l'image.

Pour une meilleure compréhension des chemins relatifs par rapport aux chemins absolus, reportez-vous à ce lien

4
Tharushi Geethma

Je suppose que vous n’avez pas réellement fait ce que je vous ai dit. Voici donc une capture d’écran:

enter image description here

Si l'image s'ouvre dans un nouvel onglet, alors vous avez une sorte de bogue ou une extension qui la dérange dans le code HTML. Si vous avez gâché le chemin relatif, vous obtiendrez probablement 404 mais vous pourrez voir le chemin comme absolu . Cela peut ressembler à http://localhost/asdf/asdf/asdf/asdf/assets/assets/image.jpg Dans les deux cas, envoyez une capture d'écran de l'opération ci-dessus.

2
Miro