Développement Web - URL relatives sans fichiers Duplication
-
11-10-2019 - |
Question
J'ai un site avec index.php
dans le dossier racine, les images /img
et overview.php
dans /content
. J'ai un fichier sidebar.php
qui est inclus dans les deux index.php
et overview.php
. Comment dois-je faire référence à /img/image.gif
si j'inclure un lien dans chaque fichier?
L'emplacement de image.gif
change par rapport à l'emplacement du fichier qui y fait référence.
L'utilisation /img/image.gif
dans sidebar.php
travaillera en index.php
, mais il échoue pour le fichier situé à /content/overview.php
.
La seule solution que je peux voir est soit inclure une sidebar.php
distincte dans chaque sous-répertoire, ou inclure un répertoire /img
dans chaque sous-répertoire.
La meilleure suggestion que je peux trouver est d'utiliser le <base
> balise HTML comme suggéré ici:
Cependant, dans le même lien, SamGoody suggère que la <base
> balise is no longer properly supported in Internet Explorer, since version 7.
Je voudrais une idée sur la question avant de vous engager à un cours d'action.
Merci.
EDIT: J'utilise la mauvaise approche ci-dessous avec "../"
Exemple-
root / index.php:
...
<link rel="stylesheet" type="text/css" href="style.css" />
<title>title</title>
</head>
<body>
<?php include('include/header.php'); ?>
<?php include('include/menu.php'); ?>
...
root / include / header.php:
...
<div id="header">
<span class="fl"><img src="img/dun1.png"/></span><span class="fr"><img src="img/dun2.png"/></span>
...
root / content / overview.php:
...
<link rel="stylesheet" type="text/css" href="../style.css" media="screen" />
<title>Overview</title>
</head>
<body>
<?php include('../include/header.php'); ?>
<?php include('../include/menu.php'); ?>
...
La solution
Utilisation /img/image.gif en sidebar.php travaillera en index.php, mais il échoue pour le fichier situé à /content/overview.php
Mais il ne devrait pas. Le /
précédent, il est un chemin absolu qui fonctionnera à partir de tout point sur le serveur. Si cela ne fonctionne pas pour vous, il y a un problème quelque part - dans ce cas, afficher quelques exemples.
Sauf si vous prévoyez de déplacer tout le site dans un sous-répertoire un jour, ou des images de passage à un réseau de contenu de livraison (les deux actions nécessiteraient récrire les adresses) que vous pouvez utiliser en toute sécurité des URL absolues.