Question

Je me demandais simplement quel était le meilleur moyen de définir des URL renvoyant à des pages d'un nom de domaine. Par exemple, pour le domaine www.example.com .. Je peux avoir des liens tels que

<a href="http://www.domain.com/test.html">test</a>

ou

<a href="test.html">test</a>

L’un des problèmes que j’ai rencontré est que lors de l’utilisation de modèles ... si j’utilise un modèle html avec des liens relatifs, je ne peux pas utiliser le même modèle pour le répertoire www.example.com/directory2 car les liens communs ont été gagnés ne fonctionne pas pour cette page .. ni les fichiers css ni javascripts.

Je devais soit dupliquer le modèle, soit définir des chemins absolument. J'ai choisi des chemins absolus. Ainsi, les chemins de modèle commencent par http://www.mydomain.com/ . Cela cause-t-il un problème de performances? comme plusieurs requêtes http, résolution de domaine ou autre? quel est votre suggestion / commentaire à ce sujet?

Merci.

Était-ce utile?

La solution

Bien que l’utilisation du chemin absolu n’ajoute aucune surcharge supplémentaire, la pratique acceptée pour les liens locaux consiste à utiliser des liens relatifs. Les liens relatifs peuvent être traités différemment des liens absolus par des outils tels que wget ou Down-Them-All (outils de téléchargement de sites Web).

Toutefois, si votre solution de modèles fonctionne mieux avec des liens absolus, il n’est pas rare de rester avec eux. A titre provisoire, les liens absolus peuvent jouer à votre avantage si le contenu de votre site est effacé en vous renvoyant à votre page d'origine (Source: http://www.navegabem.com/linking-strategy.html ).

Autres conseils

Utilisez définitivement les chemins relatifs.

Cela ne vous apportera pas moins de fonctionnalités et vous évitera d'avoir des problèmes si votre nom de domaine change, et vous permettra de tester sur un autre serveur plutôt qu'en direct ....

vous pouvez rooter tous vos chemins

eg <a href="/test.html">test</a>

ce sera la même chose que de mettre le domaine.

[EDIT] vous pouvez utiliser mod rewrite pour déplacer le site si nécessaire dans différents dossiers - voir http://httpd.apache.org/docs/2.0/mod/ mod_rewrite.html # rewritebase

Josh

Je suppose que vous devriez utiliser un chemin relatif. Étant donné que si votre domaine a disparu / changé, le site fonctionnera toujours correctement, et plus que cela, le chemin en HTML sera beaucoup plus court.

Et si vous souhaitez prendre en compte le cas de la modification de la structure de fichier. En supposant que vous utilisez html pour développer un site web. Je suppose que vous pourriez utiliser shtml / server side include, pour séparer les éléments courants, tels que: Menu

De telle sorte que lorsqu'il y a un changement de structure, il vous suffit de modifier le menu.shtml

J'espère que cela vous aidera

Ce que Josh a suggéré est acceptable, mais il échouera si votre site Web est placé dans un répertoire virtuel. Je recommande de toujours utiliser des chemins relatifs.

Utilisez toujours vos chemins relatifs pour faire référence aux ressources (pages, fichiers CSS, fichiers JS) présentes sur votre site.

Raisons:

  1. Cela vous permet de changer votre nom de domaine à tout moment sans vous causer beaucoup de maux de tête
  2. Vous permet de restructurer vos pages très facilement.

Toutefois, si votre site Web est vraiment si vaste, vous devrez disposer d’une base de données de liens et de liens permettant de ne pas perdre de vue les liens lors du déplacement des ressources. C’est ce que Microsoft fait sur microsoft.com.

jrh

Je suis avec Josh .... spécifiez les chemins relatifs à la racine de l'application: /myfolder/myfile.html

Dans mon cas, cela présente l’avantage supplémentaire de travailler sur ma machine de développement, où chaque site est une application (IIS) de mon site par défaut, ainsi que de travailler sur le site actif lui-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top