2017-09-17 7 views
1

Les parties répétitives de mes pages Web sont placées dans un fichier HTML séparé et incluses sur chaque page qui utilise ces parties (un en-tête par exemple). De cette façon, je n'aurais qu'à le changer une fois et chaque en-tête de page est mis à jour automatiquement. Cela fonctionne très bien sur les pages qui sont dans la racine du site. Cependant, lorsque j'inclus l'en-tête sur les pages d'un dossier, je devrais changer tous les liens "example.html" en liens "../example.html" afin qu'il soit lié au dossier parent. Lorsque je fais cela, les liens d'en-tête sur les pages de la racine du site sont cassés car il va rechercher les fichiers dans le dossier parent de la racine du site. Je voudrais juste un fichier d'en-tête et l'utiliser sur chaque page, que ce soit dans la racine du site ou dans un dossier.Lier des fichiers HTML dans un dossier?

Ma solution était de créer deux fichiers d'en-tête différents. L'un d'eux a des liens "example.html" à utiliser sur les pages de la racine du site, et l'autre a des liens "../example.html" à utiliser sur les pages d'un dossier. C'est la seule solution que j'ai jusqu'à présent, et je pense qu'il est très inefficace d'utiliser deux fichiers différents lorsque la seule différence est le "../" avant chaque lien. Question: est-ce vraiment la seule solution?

Répondre

1

Si vous commencez vos URL avec une barre oblique, elles seront relatives à l'URL de base plutôt qu'à l'URL de votre page en cours. Par exemple:

Current Page: http://example.com/about.html 
Link:   <a href="/index.html"> 
Result Page: http://example.com/index.html 

Current Page: http://example.com/directory/about.html 
Link:   <a href="/index.html"> 
Result Page: http://example.com/index.html 
+0

Merci pour la réponse rapide. Comme expliqué dans le commentaire ci-dessus, j'ai changé tous les liens "example.html" et "../example.html" en liens "/example.html". Malheureusement, chaque lien est cassé. Qu'ai-je fait de mal? –

+0

Où pointent-ils? Quel lien brisé apparaît dans votre barre d'adresse? –

+0

En supposant que je veux être en mesure de naviguer vers ** http: //example.com/about.html** Je veux que le lien fonctionne à la fois sur ** http: //example.com/index.html** et la page ** http: //example.com/folder/page.html**. J'essaie également de faire les liens de ** http: //example.com/folder/page.html** à ** http: //example.com/folder/page2.html** travail. Peut-être devrais-je ajouter une barre oblique à la fin du lien? Je reçois 404 erreurs non trouvées sur les pages et les images n'apparaissent pas. –