415 Stimmen

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

Wann sollte ein nachgestellter 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-bezogenen Probleme voll bewusst - doppelter Inhalt und die kanonische Sache; ich versuche herauszufinden, welche ich im Zusammenhang mit der Bereitstellung von Seiten verwenden sollte richtig allein.

Mein Kollege denkt zum Beispiel, dass ein Schrägstrich am Ende bedeutet, dass es sich um einen "Ordner" - ein "Verzeichnis" - handelt, also ist dies nicht der richtige Stil. Aber ich denke, dass es ohne einen Schrägstrich am Ende auch nicht ganz korrekt ist, weil es fast wie ein Ordner aussieht, aber keiner ist und es auch keine normale Datei ist, sondern ein Dateiname ohne Erweiterung.

Gibt es eine geeignete Methode, um zu wissen, welche zu verwenden ist?

261voto

Raedwald Punkte 43209

Das ist keine Frage der Präferenz. /base y /base/ haben eine unterschiedliche Semantik. In vielen Fällen ist der Unterschied unbedeutend. Er ist jedoch wichtig, wenn es sich um relative URLs handelt.

  • child relativ zu /base/ est /base/child .
  • child relativ zu /base ist (vielleicht überraschenderweise) /child .

166voto

Rafael Herscovici Punkte 15633

Meiner persönlichen Meinung nach werden nachgestellte Schrägstriche falsch verwendet.

Das URL-Format stammt im Grunde aus demselben UNIX-Format für Dateien und Ordner, das später auf DOS-Systemen verwendet und schließlich für das Web angepasst wurde.

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

Quelle: Wikipedia: Einheitlicher Ressourcenbezeichner

Eine weitere gute Quelle zum Lesen: Wikipedia: URI-Schema

Gemäß RFC 1738, in dem 1994 die URLs definiert wurden, können Ressourcen, die Verweise auf andere Ressourcen enthalten, relative Links verwenden, um den Ort der zweiten Ressource zu definieren, so als ob man sagen wollte: "am selben Ort wie diese, nur mit dem folgenden relativen Pfad". Weiter heißt es, dass solche relativen URLs davon abhängig sind, dass die ursprüngliche URL eine hierarchische Struktur enthält, auf der der relative Link basiert, und dass die URLs ftp, http, und Datei-URL-Schemata Beispiele für solche sind, die als hierarchisch angesehen werden können, wobei die Komponenten der Hierarchie durch "/" getrennt sind.

Quelle: Wikipedia Uniform Resource Locator (URL)

Auch:

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

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

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

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

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 "seltsam" 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 Web, unabhängig von der Umgebung. Es kann verworren und unklar sein, so wie Sie es mit der URL ohne ext.

87voto

Yarin Punkte 157128

Ich bin immer wieder erstaunt über die ausgiebige Verwendung von Schrägstrichen am Ende von Nicht-Verzeichnis-URLs (u. a. bei WordPress). Dies sollte wirklich keine Entweder-Oder-Debatte sein, denn einen Schrägstrich nach einer Ressource zu setzen, ist semantisch falsch. Das Web wurde entwickelt, um adressierbare Ressourcen bereitzustellen, und diese Adressen - URLs - wurden entwickelt, um eine Hierarchie wie im *nix-Dateisystem zu emulieren. In diesem Zusammenhang:

  • Schrägstriche bezeichnen immer Verzeichnisse, niemals Dateien.
  • Dateien können beliebig benannt werden (mit oder ohne Erweiterungen), dürfen aber keine Schrägstriche enthalten oder mit ihnen enden.

Nach diesen Richtlinien ist es falsch, einen Schrägstrich hinter eine Nicht-Verzeichnis-Ressource zu setzen.

48voto

nico gawenda Punkte 3479

Das ist nicht wirklich eine Frage der Ästhetik, sondern ein technischer Unterschied. Der Gedanke des Verzeichnisses ist völlig richtig und erklärt so ziemlich alles. Lassen Sie es uns ausarbeiten:

Sie sind jetzt wieder in der Steinzeit oder bieten nur statische Seiten an

Sie haben eine feste Verzeichnisstruktur auf Ihrem Webserver und nur statische Dateien wie Bilder, HTML und so weiter - keine serverseitigen Skripte oder ähnliches.

Ein Browser fordert /index.htm existiert sie und wird dem Kunden zugestellt. Später haben Sie viele - sagen wir - DVD-Filme rezensiert und eine HTML-Seite für jeden von ihnen in der /dvd/ Verzeichnis. Nun fragt jemand /dvd/adams_apples.htm und es wird geliefert, weil es da ist.

Eines Tages fragt jemand einfach nach /dvd/ - das ein Verzeichnis ist und der Server versucht, herauszufinden, was er liefern soll. Neben Zugangsbeschränkungen und so weiter gibt es zwei Möglichkeiten: Dem Benutzer den Inhalt des Verzeichnisses zeigen (ich wette, Sie haben das schon irgendwo gesehen) oder eine Standarddatei anzeigen (im Apache ist das: DirectoryIndex: sets the file that Apache will serve if a directory is requested. )

So weit so gut, das ist der erwartete Fall. Es zeigt bereits den Unterschied in der Handhabung, also lassen Sie uns loslegen:

Um 5:34 Uhr haben Sie beim Hochladen Ihrer Dateien einen Fehler gemacht

(Was übrigens völlig verständlich ist.) Sie haben also etwas völlig Falsches getan und statt des Hochladens /dvd/the_big_lebowski.htm Sie haben diese Datei hochgeladen als dvd (ohne Erweiterung) an / .

Jemand hat ein Lesezeichen für Ihre /dvd/ Verzeichnisliste (natürlich wollten Sie nicht dieses schicke Verzeichnis erstellen und ständig aktualisieren). index.htm ) und besucht Ihre Web-Site. Der Inhalt des Verzeichnisses wird geliefert - alles in Ordnung.

Jemand hat von Ihrer Liste gehört und tippt gerade /dvd . Und jetzt ist sie im Eimer. Anstelle Ihres DVD-Verzeichnisses findet der Server eine Datei mit diesem Namen und liefert Ihre Big-Lebowski-Datei aus.

Sie löschen also diese Datei und sagen dem Benutzer, er solle die Seite neu laden. Ihr Server sucht nach der /dvd Datei, aber sie ist verschwunden. Die meisten Server stellen dann fest, dass es ein Verzeichnis mit diesem Namen gibt, und teilen dem Client mit, dass das Gesuchte tatsächlich woanders liegt. Die Antwort wird höchstwahrscheinlich lauten:

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

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

Nachdem er diese Antwort erhalten hat, lädt der Client schließlich /dvd/ und alles ist in Ordnung.

Ist das in Ordnung? Nein.

"Gerade gut" ist nicht gut genug für Sie

Sie haben eine dynamische Seite, auf der alles an /index.php und wird verarbeitet. Bis jetzt hat alles ganz gut funktioniert, aber jetzt fühlt sich das Ganze langsamer an und Sie untersuchen es.

Bald werden Sie feststellen, dass /dvd/list macht genau das Gleiche: Umleitung auf /dvd/list/ die dann intern übersetzt wird in index.php?controller=dvd&action=list . Eine zusätzliche Anfrage - aber noch schlimmer! customer/login leitet weiter zu customer/login/ die wiederum auf die HTTPS-URL von customer/login/ . Sie haben am Ende Tonnen von unnötigen HTTP-Umleitungen (= zusätzliche Anfragen), die die Nutzererfahrung verlangsamen.

Höchstwahrscheinlich haben Sie auch hier einen Standardverzeichnisindex: index.php?controller=dvd ohne action einfach innerlich belastet index.php?controller=dvd&action=list .

Zusammenfassung:

  • Wenn er mit / kann es niemals eine Datei sein. Kein Server-Raten.

  • Schrägstrich oder kein Schrägstrich sind völlig unterschiedliche Bedeutungen. Es gibt einen technischen/ressourcenbezogenen Unterschied zwischen "Schrägstrich oder kein Schrägstrich", und Sie sollten sich dessen bewusst sein und ihn entsprechend nutzen. Nur weil der Server höchstwahrscheinlich die /dvd/index.htm - oder lädt das richtige Skriptmaterial - wenn Sie sagen /dvd : Er tut es, aber nicht, weil Sie den richtigen Antrag gestellt haben. Die wäre gewesen /dvd/ .

  • Das Weglassen des Schrägstrichs, auch wenn Sie tatsächlich mittlere Bei der Version mit Schrägstrich gibt es eine zusätzliche Strafe für HTTP-Anfragen. Was immer schlecht ist (man denke an die Latenzzeit auf dem Handy) und mehr Gewicht hat als eine "hübsche URL" - zumal Crawler nicht so dumm sind, wie SEOs glauben oder glauben machen wollen ;)

25voto

musiphil Punkte 3647

Wenn Sie Ihre URL erstellen /about-us/ (mit dem abschließenden Schrägstrich), ist es einfach, mit einer einzigen Datei zu beginnen index.html und dann später erweitern und weitere Dateien hinzufügen (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 . Das gibt Ihnen eine große Flexibilität.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X