Ich habe ziemlich viele Probleme, zu denen ich gerne Ihre Meinung hören würde, also hoffe ich, dass ich es schaffen werde, sie gut genug zu erklären. Ich sollte auch beachten, dass ich Anfänger nur mit den Kenntnissen von HTML und CSS ausgestattet bin. Obwohl ich fast sicher bin, dass es eine einfache Lösung mit leistungsstarkem PHP gibt, hilft es mir nicht .
Lassen Sie uns sagen , dass ich meine persönlichen Blog auf der Adresse haben , example.com/blog.html
und es gibt Links zu mehreren Unter Blogs example.com/blog/math.html
, example.com/blog/coding.html
etc. Also mein Stammordner enthält blog.html
und blog
Ordner, die blog
Ordner selbst enthält Dateien math.html
und coding.html
.
Zunächst einmal habe ich gelernt (von Google Webmaster - Tools ) , die für SEO und ästhetische Zwecke ist es gut zu vereinigen example.com.com
und example.com/index.html
durch Zugabe von _rel="canonical"_
Attribut in die Quelle der index.html
. Mit ein paar anderen Tricks (wie dem Verknüpfen mit ../
und ./
) habe ich das Hässliche index.html
in meinen Webadressen beseitigt.
Und jetzt frage ich mich, ob dieser Trick nicht nur für den Stammordner, sondern für jeden Ordner verwendet werden kann? Ich meine, ich würde meine bewegen blog.html
in den blog
Ordner, benennen Sie sie in die index.html
und fügen Sie rel="canonical"
zu vereinigen example.com/blog/index.html
mit example.com/blog/
.
Dieser Trick würde die Adresse meines Blogs von example.com/blog.html
in ändern example.com/blog/
.
Nicht beendet! Ich habe auch Probleme mit der Indizierung meiner Ordner durch den Google-Roboter. Wenn ich also site:example.com/
in die Google-Suche eingebe, wird example.com/blog/
unter den anderen Ergebnissen der Link zu meinem Ordner mit Rohdateien, Symbolen usw. angezeigt. Ich denke, es gibt auch andere Möglichkeiten, dies zu beheben, aber meiner Meinung nach würde die oben erwähnte Änderung auch den Trick tun - die index.html im Blog-Ordner würde den Benutzer davon abhalten, den tatsächlichen Rohinhalt dieses Ordners anzuzeigen, es würde nur angezeigt Der richtige Link example.com/blog/
in der Google-Suche und (ich hoffe das) _rel="canonical"_
würden dazu führen, dass der zweite, unerwünschte Link example.com/blog/index.html
nicht in den Suchergebnissen erscheint.
Meine Fragen sind also:
- Ist es eine gute Praxis, die
index.html
Datei in jedem Unterordner zu haben, oder soll sie sich nur im Stammordner befinden? - Gibt es Nachteile oder Probleme, die bei der Verwendung der zweiten Methode " Index in jedem Ordner " auftreten können?
- Welche der beiden oben beschriebenen Arten der Strukturierung der Website würden Sie bevorzugen?
quelle
Antworten:
Der Grund, warum wir
index.html
oderhome.html
oder Derivate davon verwenden, ist, dass die Webserver-Software selbst tatsächlich danach sucht und es bedient. Zum Beispiel:Dies ist UNGÜLTIG: (www-Verzeichnis)
Dies wird in der Tat als Seite mit einer Liste der Ordner und Dateien bereitgestellt. (Nicht was du willst). Sie können diese Struktur ausprobieren, aber auch eine index.html-Datei neben blog.html erstellen. Beachten Sie, dass blog.html nur dann bereitgestellt wird, wenn Sie dies angeben.
http://www.site.com/blog.html
) Aus diesem Grundhttp://www.google.com/
wird die Seite angezeigt, ohne dass Sie dies angeben müssenhttp://www.google.com/index.html
Dies ist GÜLTIG:
Dies dient Ihrer
blog.html
Datei als Homepage. (Nicht alle Ordner / Dateien in diesem Verzeichnis auflisten)Die Webserver-Software verfügt (in der Konfiguration) über eine spezielle Liste von Dateinamen, die als Homepage oder Hauptseite eines Ordners dienen. (Nach meiner Erfahrung
index.html
hat Vorrang vor index.php, wenn Sie also habenindex.html
undindex.php
in einem Ordner, die index.html ist , was die Öffentlichkeit sehen) Natürlich , die verändert werden können, und Sie können sogar festlegen ,blog.html
als anerkannt zu werden "Index".Adressierung Ihres Kommentars:
Dies würde geschehen, indem Sie es
blog.html
vollständig in/blog/
index.html verschieben und umbenennen.Ihre neue Struktur wäre:
Dies sollte korrekt dazu dienen
http://www.site.com/blog/
, den Inhalt Ihrer blog.html anzuzeigen, in den wir umbenannt haben,index.html
damit die Software ihn als Index Ihres Verzeichnisses festlegen kann/blog/
Sie können jetzt auch
index.html
im Stammverzeichnis Ihrer Websitehttp://www.site.com/(index.html)
Links/blog/
ablegen , um Links zu und was auch immer Sie möchten.Spezielle Beantwortung Ihrer Fragen in kurzen Aussagen:
Ist es eine gute Praxis, die Datei index.html in jedem Unterordner zu haben, oder soll sie sich nur im Stammordner befinden?
Ja, da dadurch verhindert wird, dass Personen sehen, welche Dateien sich in Ihren Verzeichnissen befinden. Sie können dies mit einer
.htaccess
Datei verhindern, die enthältOptions -Indexes
Gibt es Nachteile oder Probleme, die bei der Verwendung der zweiten Methode "Index in jedem Ordner" auftreten können?
Keine, an die ich denken kann.
Welche der beiden oben beschriebenen Arten der Strukturierung der Website würden Sie bevorzugen?
Normalerweise habe ich eine
index.html
oderindex.php
-Datei im Stammverzeichnis, Unterordner basierend auf der Kategorie (wieforum
odernews
oder oderlogin
usw.) und dann eine Art Index in jeder dieser.quelle
Der Fachbegriff für index.html lautet Verzeichnisindex für Apache und Standarddokument für IIS. Die andere interessante Apache-Direktive ist die Options- Direktive. Wie in der Dokumentation angegeben,
Options Indexes
wird Folgendes festgelegt:Wenn ich eine Website einrichte, die kein Content-Management-System verwendet, ist es meine bevorzugte Einrichtung, eine Inhaltsseite pro Verzeichnis zu haben. Diese Seite ist der Verzeichnisindex (Standarddokument) für das Verzeichnis. Alle Links auf der Site verweisen nur auf das Verzeichnis und enden mit einem abschließenden Schrägstrich (z. B.
http://example.com/blog/
anstelle vonhttp://example.com/blog/index.html
oder./blog/
anstelle von./blog/index.html
). Der abschließende Schrägstrich ist wichtig, um zu vermeiden, was allgemein als Höflichkeitsumleitung bezeichnet wird . (Wenn der abschließende Schrägstrich weggelassen wird, wird immer noch alles korrekt aufgelöst, aber die Anzahl der HTTP-Anforderungen und damit die Bandbreite erhöhen sich.)Meine Hauptmotivation für die oben genannte Methodik ist zweifach. Erstens erleichtert es das Umschalten der auf der Website verwendeten Technologie. Zum Beispiel kann ich eine Seite von index.html in index.php ändern, ohne Links oder Suchmaschinenlisten zu beschädigen. Zweitens ist die Dateierweiterung einer Inhaltsseite "Rauschen"; Das Entfernen der Dateierweiterung aus der URL führt zu kürzeren und hoffentlich besser lesbaren URLs.
Wie für andere Dateitypen:
Auf einem Apache-Server deaktiviere ich
Options Indexes
für die oben genannten Verzeichnisse. Auf Apache- und IIS-Servern gebe ich keinen Verzeichnisindex (Standarddokument) für die oben genannten Verzeichnisse an. Daher führt eine Anforderung für eines der Verzeichnisse zu einem HTTP 403-Fehler.quelle