web-dev-qa-db-de.com

Wann sollte ich einen abschließenden Schrägstrich in meiner URL verwenden?

Wann sollte ein abschließender Schrägstrich in einer URL verwendet werden? Zum Beispiel - sollte meine URL wie folgt aussehen: /about-us/ oder wie /about-us?

Ich bin mir der SEO-Probleme voll bewusst - doppelter Inhalt und das Kanonische; Ich versuche herauszufinden, welche ich im Zusammenhang mit der Bereitstellung von Seiten verwenden soll richtig allein.

Zum Beispiel denkt mein Kollege, dass ein abschließender Schrägstrich am Ende bedeutet, dass es sich um einen "Ordner" handelt - ein "Verzeichnis". Dies ist also kein korrekter Stil. Aber ich denke das ohne einen Schrägstrich am Ende - es ist auch nicht ganz richtig, weil es fast wie ein Ordner aussieht, aber es ist nicht und es ist auch keine normale Datei, sondern ein Dateiname ohne Erweiterung.

Gibt es eine richtige Methode, um zu wissen, welche Sie verwenden sollen?

257
Denis

Nach meiner persönlichen Meinung werden nachgestellte Schrägstriche missbraucht.

Grundsätzlich entstammte das URL-Format demselben UNIX-Format von Dateien und Ordnern, das später auf DOS-Systemen verwendet und schließlich für das Web angepasst wurde.

Eine typische URL für dieses Buch unter einem Unix-ähnlichen Betriebssystem ist ein Dateipfad wie file: ///home/username/RomeoAndJuliet.pdf, der das in einer Datei auf einer lokalen Festplatte gespeicherte elektronische Buch identifiziert.

Quelle: Wikipedia: Uniform Resource Identifier

Eine weitere gute Quelle zu lesen: Wikipedia: URI-Schema

Gemäß RFC 1738, in dem 1994 URLs definiert wurden, können Ressourcen, die Verweise auf andere Ressourcen enthalten, relative Links verwenden, um den Speicherort der zweiten Ressource so zu definieren, als ob sie "an derselben Stelle wie diese" stehen, mit Ausnahme des folgenden Verwandten Pfad". Weiter heißt es, dass solche relativen URLs von der ursprünglichen URL abhängen, die eine hierarchische Struktur enthält, auf der der relative Link basiert, und dass die FTP-, HTTP- und Datei-URL-Schemata Beispiele für einige sind, die als hierarchisch betrachtet werden können wobei die Komponenten der Hierarchie durch "/". getrennt sind

Quelle: Wikipedia Uniform Resource Locator (URL)

Ebenfalls:

Das ist die Frage, die wir oft hören. Weiter zu den Antworten! In der Vergangenheit ist es üblich, dass URLs mit einem abschließenden Schrägstrich ein Verzeichnis angeben und dass URLs ohne abschließenden Schrägstrich eine Datei bezeichnen:

http: //example.com/foo/ (mit abschließendem Schrägstrich, üblicherweise ein Verzeichnis)

http: //example.com/foo (ohne abschließenden Schrägstrich, normalerweise eine Datei)

Quelle: Google WebMaster Central Blog - Schrägstrich oder nicht

Endlich:

  1. Ein Schrägstrich am Ende der URL lässt die Adresse "hübsch" aussehen.

  2. Eine URL ohne Schrägstrich am Ende und ohne Erweiterung sieht etwas "komisch" aus.

  3. Sie werden Ihre CSS-Datei niemals benennen (zum Beispiel) http: //www.sample.com/stylesheet/ oder?

ABER ich bin ein Befürworter von Best Practices im Internet, unabhängig von der Umgebung. Es kann wackelig und unklar sein, genau wie Sie über die URL ohne ext sagten.

125
Dementic

Es ist keine Frage der Präferenz. /base und /base/ haben unterschiedliche Semantik. In vielen Fällen ist der Unterschied unwichtig. Es ist jedoch wichtig, wenn relative URLs vorhanden sind.

  • child relativ zu /base/ ist /base/child.
  • child relativ zu /base ist (vielleicht überraschend) /child.
152
Raedwald

Ich bin immer wieder überrascht von der umfangreichen Verwendung von abschließenden Schrägstrichen bei Nicht-Verzeichnis-URLs (unter anderem WordPress). Dies sollte wirklich keine Entweder-Oder-Debatte sein, da ein Schrägstrich nach einer Ressource semantisch falsch ist. Das Web wurde entwickelt, um adressierbare Ressourcen bereitzustellen, und diese Adressen - URLs - wurden entwickelt, um eine * nix-artige Dateisystemhierarchie zu emulieren. In diesem Zusammenhang:

  • Schrägstriche bezeichnen immer Verzeichnisse, niemals Dateien.
  • Dateien können einen beliebigen Namen haben (mit oder ohne Erweiterungen), dürfen jedoch keine Schrägstriche enthalten oder mit diesen enden.

Wenn Sie diese Richtlinien verwenden, ist es falsch, einen Schrägstrich hinter eine Nicht-Verzeichnis-Ressource zu setzen.

57
Yarin

Das ist eigentlich keine Frage der Ästhetik, sondern ein technischer Unterschied. Das Verzeichnis, das darüber nachdenkt, ist völlig korrekt und erklärt so ziemlich alles. Lass es uns herausfinden:

Sie sind jetzt zurück in der Steinzeit oder bedienen nur statische Seiten

Sie haben eine feste Verzeichnisstruktur auf Ihrem Webserver und nur statische Dateien wie Bilder, HTML usw. - keine serverseitigen Skripte oder was auch immer.

Ein Browser fordert /index.htm An, es existiert und wird an den Client ausgeliefert. Später haben Sie viele - sagen wir mal - DVD-Filme und eine HTML-Seite für jeden von ihnen im /dvd/ - Verzeichnis. Nun fordert jemand /dvd/adams_apples.htm An und es wird zugestellt, weil es da ist.

Irgendwann fordert jemand einfach /dvd/ - an, ein Verzeichnis , und der Server versucht herauszufinden, was zu liefern ist. Neben Zugriffsbeschränkungen und so weiter gibt es zwei Möglichkeiten: Zeigen Sie dem Benutzer den Verzeichnisinhalt an (ich wette, Sie haben dies bereits irgendwo gesehen) oder zeigen Sie eine Standarddatei an (in Apache ist es: DirectoryIndex: sets the file that Apache will serve if a directory is requested.)

Soweit so gut, ist dies der erwartete Fall. Es zeigt bereits den Unterschied in der Handhabung.

Um 5:34 Uhr ist Ihnen ein Fehler beim Hochladen Ihrer Dateien unterlaufen

(Das ist übrigens völlig verständlich.) Also haben Sie etwas völlig Falsches getan und anstatt /dvd/the_big_lebowski.htm Hochzuladen, haben Sie diese Datei als dvd (ohne Erweiterung) nach / Hochgeladen. .

Jemand hat Ihre /dvd/ - Verzeichnisliste mit einem Lesezeichen versehen (natürlich wollten Sie diesen raffinierten index.htm Nicht immer erstellen und aktualisieren) und besucht Ihre Website. Verzeichnisinhalt wird geliefert - alles in Ordnung.

Jemand hat von Ihrer Liste gehört und gibt /dvd Ein. Und jetzt ist es geschraubt. Anstelle Ihres DVD-Verzeichnisses findet der Server eine Datei mit diesem Namen und liefert Ihre Big Lebowski-Datei.

Sie löschen diese Datei und weisen den Benutzer an, die Seite neu zu laden. Ihr Server sucht nach der Datei /dvd, Diese ist jedoch nicht mehr vorhanden. Die meisten Server bemerken dann, dass es ein Verzeichnis mit diesem Namen gibt, und teilen dem Client mit, dass es sich tatsächlich um ein anderes Verzeichnis handelt. Die Antwort wird höchstwahrscheinlich sein:

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

Wenn Sie also völlig ignorieren, was Sie über Verzeichnisse oder Dateien denken , kann der Server nur mit solchen Dingen umgehen und entscheidet - sofern nicht anders angegeben - für Sie über die Bedeutung von "Schrägstrich oder nicht".

Nach Erhalt dieser Antwort lädt der Client /dvd/ Und alles ist in Ordnung.

Ist es in ordnung Nein.

"Just fine" ist dir nicht gut genug

Sie haben eine dynamische Seite, auf der alles an /index.php Übergeben und verarbeitet wird. Bis jetzt hat alles ganz gut geklappt, aber das Ganze beginnt sich langsamer anzufühlen und Sie ermitteln.

Bald werden Sie feststellen, dass /dvd/list Genau dasselbe tut: Umleiten zu /dvd/list/, Das dann intern in index.php?controller=dvd&action=list Übersetzt wird. Eine zusätzliche Bitte - aber noch schlimmer! customer/login Leitet zu customer/login/ Weiter, das wiederum zur HTTPS-URL von customer/login/ Weiterleitet. Sie haben am Ende Tonnen unnötiger HTTP-Weiterleitungen (= zusätzliche Anforderungen), die die Benutzererfahrung verlangsamen.

Höchstwahrscheinlich haben Sie auch hier einen Standardverzeichnisindex: index.php?controller=dvd Ohne action lädt einfach intern index.php?controller=dvd&action=list.

Zusammenfassung:

  • Wenn es mit / Endet, kann es niemals eine Datei sein. Keine Serverraten.

  • Schrägstrich oder kein Schrägstrich sind völlig unterschiedliche Bedeutungen. Es gibt einen technischen/Ressourcenunterschied zwischen "Schrägstrich oder kein Schrägstrich", und Sie sollten sich dessen bewusst sein und ihn entsprechend verwenden. Nur weil der Server höchstwahrscheinlich /dvd/index.htm Lädt - oder das richtige Skriptmaterial lädt -, wenn Sie /dvd Sagen: Es tut es, aber nicht, weil Sie die richtige Anfrage gestellt haben. Welches wäre /dvd/ Gewesen.

  • Den Schrägstrich weglassen, auch wenn Sie mit der Schrägstrich-Version tatsächlich eine zusätzliche HTTP-Anforderungsstrafe bedeuten. Was immer schlecht ist (denken Sie nach) der mobilen Latenz) und hat mehr Gewicht als eine "hübsche URL" - zumal Crawler nicht so dumm sind, wie SEOs glauben oder wollen, dass Sie glauben;)

24
nico gawenda

Wenn Sie Ihre URL erstellen /about-us/ (mit dem abschließenden Schrägstrich), es ist einfach, mit einer einzelnen Datei zu beginnen index.html und erweitern Sie es später und fügen Sie weitere Dateien hinzu (z. B. our-CEO-john-doe.jpg) oder sogar eine Hierarchie darunter aufbauen (z. B. /about-us/company/, /about-us/products/ usw.) nach Bedarf ohne Änderung der veröffentlichten URL. Dies gibt Ihnen eine große Flexibilität.

18
musiphil

Andere Antworten hier scheinen das Weglassen des abschließenden Schrägstrichs zu befürworten. In einem Fall hilft ein abschließender Schrägstrich bei der Suchmaschinenoptimierung (SEO). Dies ist der Fall, wenn Ihr Dokument eine Dateierweiterung aufweist, die nicht .html Lautet. Dies ist ein Problem bei Websites, die Websites bewerten. Sie könnten zwischen diesen beiden URLs wählen:

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

In einem solchen Fall würde ich das wählen mit dem abschließenden Schrägstrich. Dies liegt daran, dass die Erweiterung .com Eine Erweiterung für ausführbare Windows-Befehlsdateien ist. Suchmaschinen und Virenprüfer lehnen URLs ab, die möglicherweise Malware enthalten, die über solche Mechanismen verbreitet wird. Der abschließende Schrägstrich scheint alle Bedenken auszuräumen, sodass die Seite in Suchmaschinen rangiert und von Virenprüfern abgerufen werden kann.

Wenn Ihre URLs im Dateiteil kein . Enthalten, würde ich der Einfachheit halber empfehlen, den abschließenden Schrägstrich wegzulassen.

10

Wer sagt, dass ein Dateiname eine Erweiterung benötigt? schau mal auf einer * nix maschine vorbei ...
Ich stimme Ihrem Freund zu, kein abschließender Schrägstrich.

9
Aaron Gage

Aus SEO-Sicht spielt es keine Rolle, ob am Ende einer URL ein abschließender Schrägstrich eingefügt werden soll oder nicht. Heutzutage ist es üblich, Beispiele für beides im Web zu sehen. Eine Website wird weder in irgendeiner Weise bestraft, noch beeinflusst diese Auswahl das Suchmaschinenranking Ihrer Website oder andere SEO-Überlegungen.

Wählen Sie einfach eine von Ihnen bevorzugte URL-Namenskonvention und fügen Sie ein kanonisches Meta-Tag in das <head> Abschnitt jeder Webseite.

Suchmaschinen können eine einzelne Webseite als zwei separate doppelte URLs betrachten, wenn sie mit oder ohne den abschließenden Schrägstrich angetroffen wird, dh example.com/about-us/ und example.com/about-us.

Es wird empfohlen, auf jeder Seite ein kanonisches Meta-Tag einzufügen, da Sie nicht steuern können, wie andere Websites auf Ihre URLs verweisen.

Das kanonische Tag sieht folgendermaßen aus: <link rel="canonical" href="https://example.com/about-us" />. Durch die Verwendung eines kanonischen Metatags wird sichergestellt, dass Suchmaschinen jede Ihrer URLs nur einmal zählen, unabhängig davon, ob andere Websites einen abschließenden Schrägstrich enthalten, wenn sie auf Ihre Website verlinken.

3
riot