Quand dois-je utiliser une barre oblique finale dans mon URL?

Quand une barre oblique doit-elle être utilisée dans une URL? Par exemple-mon URL devrait-elle ressembler à /about-us/ ou à /about-us?

Je suis pleinement conscient des problèmes liés au référencement - le contenu en double et la chose canonique; j'essaie de comprendre lequel je devrais utiliser dans le contexte de servir les pages correctement seul.

Par exemple, mon collègue pense qu'une barre oblique finale à la fin signifie que c'est un "dossier" - un "répertoire", donc ce n'est pas un style correct. Mais je pense que sans une barre oblique à la fin - ce n'est pas tout à fait correct non plus, car il ressemble presque à un dossier, mais ce n'est pas et ce n'est pas un fichier normal non plus, mais un nom de fichier sans extension.

Existe-t-il un moyen approprié de savoir lequel utiliser?

225
demandé sur Tim Post 2011-05-10 14:27:21

8 réponses

À mon avis personnel, les barres obliques sont mal utilisées.

Fondamentalement, le format D'URL est venu du même format UNIX de fichiers et de dossiers, plus tard, sur les systèmes DOS, et enfin, adapté pour le web.

Une URL typique pour ce livre sur un système D'exploitation de type Unix serait un chemin de fichier tel que file: / / / home / username / RomeoAndJuliet.pdf, identifiant le livre électronique enregistré dans un fichier sur un disque dur local.

Source: Wikipedia: Ressource Uniforme Identifiant

Une Autre bonne source pour lire: Wikipédia: Schéma d'URI

Selon la RFC 1738, qui a défini les URLs en 1994, lorsque les ressources contiennent des références à d'autres ressources, elles peuvent utiliser des liens relatifs pour définir l'emplacement de la seconde ressource comme pour dire "au même endroit que celle-ci sauf avec le chemin relatif suivant". Il a poursuivi en disant que ces URL relatives dépendent de l'URL d'origine contenant une structure hiérarchique contre que le lien relatif est basé, et que le ftp, http, et les schémas d'URL de fichier sont des exemples de certains qui peuvent être considérés comme hiérarchiques, avec les composants de la hiérarchie étant séparés par"/".

Source: Wikipedia Localisateur de Ressources Uniformes (URL)

Aussi:

C'est la question que nous entendons souvent. En avant aux réponses! Historiquement, il est courant que les URL avec une barre oblique de fin indiquent un répertoire, et celles sans fin slash à indiquer un fichier:

Http://example.com/foo/ (avec une barre oblique finale, classiquement un répertoire)

Http://example.com/foo (sans barre oblique finale, classiquement un fichier)

Source: Google Webmaster Central Blog-slash ou ne pas slash

Enfin:

  1. Une barre oblique à la fin de L'URL rend l'adresse "jolie".

  2. Une URL sans barre oblique à la fin et sans extension semble un peu "bizarre".

  3. Vous ne nommerez jamais votre fichier CSS (par exemple) http://www.sample.com/stylesheet / voulez-vous?

Mais je suis un partisan des meilleures pratiques web quel que soit l'environnement. Il peut être bancal et peu clair, tout comme vous l'avez dit à propos de l'URL sans ext.

114
répondu Dementic 2013-11-27 03:03:59

Ce n'est pas une question de préférence. /base et /base/ ont une sémantique différente. Dans de nombreux cas, la différence est sans importance. Mais c'est important quand il y a des URL relatives.

  • child par rapport à /base/ est /base/child.
  • child par rapport à /base est (peut-être surprenant) /child.
133
répondu Raedwald 2013-05-08 15:51:36

Je suis toujours surpris par l'utilisation intensive de barres obliques de fin sur les URL non-répertoires (WordPress entre autres). Cela ne devrait vraiment pas être un débat ou un débat, car mettre une barre oblique après une ressource est sémantiquement faux. Le web a été conçu pour fournir des ressources adressables, et ces adresses - URL - ont été conçues pour émuler une hiérarchie de système de fichiers de style *nix. Dans ce contexte:

  • les barres obliques indiquent toujours des répertoires, jamais des fichiers.
  • les fichiers peuvent être nommés n'importe quoi (avec ou sans extensions), mais ne peut pas contenir ou se terminer par des barres obliques.

En utilisant ces directives, il est faux de mettre une barre oblique après une ressource non-répertoire.

49
répondu Yarin 2013-12-13 05:38:03

Ce n'est pas vraiment une question d'esthétique, mais bien une différence technique. Le répertoire en pensant à cela est totalement correct et explique à peu près tout. Nous allons travailler sur:

Vous êtes de retour à l'âge de Pierre maintenant ou ne servez que des pages statiques

Vous avez une structure de répertoire fixe sur votre serveur web et seulement des fichiers statiques comme des images, html et ainsi de suite - pas de scripts côté serveur ou quoi que ce soit.

Un navigateur demande /index.htm, Il existe et est livré au client. Plus tard, vous avez beaucoup de films - disons - DVD examinés et une page html pour chacun d'eux dans le répertoire /dvd/. Maintenant, quelqu'un demande /dvd/adams_apples.htm et il est livré parce qu'il est là.

Un jour, quelqu'un demande juste /dvd/ - qui est un répertoire et le serveur essaie de comprendre ce qu'il faut livrer. Outre les restrictions d'accès et ainsi de suite, il y a deux possibilités: montrer à l'utilisateur le contenu du répertoire (Je parie que vous avez déjà vu quelque part) ou montrer un fichier par défaut (dans Apache c'est: DirectoryIndex: sets the file that Apache will serve if a directory is requested.)

Jusqu'à présent, tout va bien, c'est le cas attendu.{[39] } Il montre déjà la différence dans la manipulation, alors entrons dedans:

À 5:34am, vous avez fait une erreur en téléchargeant vos fichiers

(Ce Qui est d'ailleurs tout à fait compréhensible.) Donc, vous avez fait quelque chose de complètement faux et au lieu de télécharger /dvd/the_big_lebowski.htm vous avez téléchargé ce fichier comme dvd (sans extension) à /.

Quelqu'un a marqué votre liste d'annuaire /dvd/ (de bien sûr, vous ne vouliez pas créer et Toujours mettre à jour ce nifty index.htm) et visite votre site web. Le contenu du répertoire est livré-tout va bien.

Quelqu'un a entendu parler de votre liste et Tape /dvd. Et maintenant, il est vissé. Au lieu de la liste de votre répertoire de DVD, le serveur trouve un fichier portant ce nom et livre votre fichier Big Lebowski.

Donc, vous supprimez ce fichier et dites au gars de recharger la page. Votre serveur recherche le fichier /dvd, mais il a disparu. La plupart des serveurs ensuite, notez qu'il y a un répertoire avec ce nom et dites au client que ce qu'il cherchait est en effet ailleurs. La réponse sera probablement:

Status Code:301 Moved Permanently avec Location: http://[...]/dvd/

Donc, ignorant totalement ce que Vous pensez des répertoires ou des fichiers, le serveur ne peut gérer que de telles choses et - sauf indication contraire-décide pour vous de la signification de "slash ou non".

Enfin, après avoir reçu cette réponse, le client charge /dvd/ et tout est fine.

Ça va? Aucun.

"très bien" n'est pas assez bon pour Vous

Vous avez une page dynamique où tout est passé à /index.php et est traité. Tout a très bien fonctionné jusqu'à présent, mais tout cela commence à se sentir plus lent et vous enquêtez.

Bientôt, vous remarquerez que /dvd/list fait exactement la même chose: rediriger vers {[17] } qui est ensuite traduit en interne en index.php?controller=dvd&action=list. Une demande supplémentaire - mais encore pire! customer/login redirige vers customer/login/ qui à son tour redirige vers L'URL HTTPS de customer/login/. Vous finissez par avoir tonnes {[39] } de redirections HTTP inutiles (=requêtes supplémentaires) qui rendent l'expérience utilisateur plus lente.

Très probablement, vous avez un index de répertoire par défaut ici aussi: index.php?controller=dvd sans action charge simplement en interne index.php?controller=dvd&action=list.

Résumé:

  • S'il se termine par /, il ne peut jamais être un fichier. pas de devinettes de serveur.

  • Slash ou pas de barre oblique sont des significations entièrement différentes. Il y a une différence technique/Ressource entre "barre oblique ou pas de barre oblique", et vous devriez en être conscient et l'utiliser en conséquence. Juste parce que le serveur charge probablement /dvd/index.htm - ou charge le script correct - quand vous dites /dvd: il le fait, mais pas parce que vous avez fait la bonne demande. Ce qui aurait été /dvd/.

  • Omettre la barre oblique même si en effet signifie la version oblique Vous donne une requête HTTP supplémentaire pénalité. qui est toujours mauvais (pensez à la latence mobile) et a plus de poids qu'une "jolie URL" - d'autant plus que les robots d'exploration ne sont pas aussi stupides que les SEOs croient ou veulent que vous croyiez ;)

20
répondu nico gawenda 2014-07-29 13:24:50

Lorsque vous créez votre URL /about-us/ (avec la barre oblique finale), il est facile de commencer avec un seul fichier index.html, puis de le développer et d'ajouter plus de fichiers (par exemple our-CEO-john-doe.jpg) ou même de construire une hiérarchie en dessous (par exemple /about-us/company/, /about-us/products/, etc.) au besoin, sans modifier l'URL publiée . Cela vous donne une grande flexibilité.

18
répondu musiphil 2014-10-15 17:00:22

Qui dit qu'un nom de fichier a besoin d'une extension?? jetez un oeil sur une machine *nix parfois...
Je suis d'accord avec votre ami, pas de barre oblique.

10
répondu Aaron Gage 2011-05-10 10:34:21

Autres réponses ici semblent favoriser l'omission de la barre oblique. Il y a un cas dans lequel une barre oblique finale aidera à l'optimisation des moteurs de recherche (SEO). C'est le cas que votre document a ce qui semble être une extension de fichier qui n'est pas .html. Cela devient un problème avec les sites qui sont des sites de notation. Ils peuvent choisir entre ces deux url:

  • http://mysite.example.com/rated.example.com
  • http://mysite.example.com/rated.example.com/

Dans un tel cas, je choisirais celui avec la barre oblique finale . En effet, l'extension .com est une extension pour les fichiers de commandes exécutables Windows. Les moteurs de recherche et les vérificateurs de virus n'aiment souvent pas les URL qui semblent contenir des logiciels malveillants distribués par de tels mécanismes. La barre oblique de fin semble atténuer toutes les préoccupations, permettant à la page de se classer dans les moteurs de recherche et d'obtenir par les vérificateurs de virus.

Si vos URL n'ont pas de . dans la partie du fichier, je recommanderais d'omettre la barre oblique finale pour plus de simplicité.

10
répondu Stephen Ostermiller 2013-04-25 15:22:31

Du point de vue du référencement, le choix d'inclure ou non une barre oblique à la fin d'une URL n'est pas pertinent. Ces jours, il est courant de voir des exemples sur le web. Un site ne sera pas pénalisé de toute façon, et ce choix n'affectera pas le classement des moteurs de recherche de votre site web ou d'autres considérations de référencement.

Choisissez simplement une convention de nommage D'URL que vous préférez, et incluez une balise meta canonique dans la section <head> de chaque page Web.

Les moteurs de recherche peuvent envisager un page Web en tant que deux URL en double séparées quand ils le rencontrent avec et sans la barre oblique finale, c'est-à-dire example.com/about-us/ et example.com/about-us.

Il est recommandé d'inclure une balise meta canonique sur chaque page car vous ne pouvez pas contrôler la façon dont les autres sites se lient à vos URL.

La balise canonique ressemble à ceci: <link rel="canonical" href="https://example.com/about-us" />. L'utilisation d'une balise meta canonique garantit que les moteurs de recherche ne comptent qu'une seule fois chacune de vos URL, que les autres sites web incluent ou non une barre oblique lorsqu'ils se connectent à votre site.

0
répondu riot 2018-09-11 00:54:15