.htaccess Erstkontakt

anna55

New member
Habe eben in dem anderen Thread von Erlebnissen mit der .htaccess gelesen und wollte mal meinen Erstkontakt beschreiben:

--anna: Hilfe, der IE6 verschandelt das Design meiner XHTML-Seite.
--jswelt: Na klar, die Seite ist ja im Quirksmode.
--anna: Nö, korrekter Doctype, sogar mit XML-Prolog.
--jswelt: Genau das ist das Problem. Kommentare oder aber dieser Prolog versetzen den IE6 in den Quirksmode.
--anna: Na toll - und jetzt? Also weg damit.
--anna: Jetzt ist die Seite nicht mehr valide. Validome beschwert sich, dass keine Zeichensatzangabe zu finden sei: Fallback zu UTF-8.
Aber die ist da: im Meta-Tag.
--jswelt: Eine Möglichkeit, die Seite valide zu bekommen ist, die Zeichensatzangabe in eine .htaccess zu schreiben.
--anna: Eine ...Datei??? Wass soll das denn sein? Sollte mal Google fragen...
--google: Du nimmst Dir einen Texteditor und schreibst da "AddCharset iso-8859-1 .html .xhtml" rein. Dann speicherst Du das als
.htaccess ab.
--anna: Hört sich einfach an. Mach ich doch glatt mal.
--editor: Ich nehm' da mal die Endung .txt.
--anna: Nein, keine Endung, ohne alles!
--editor: Nö. Mit Endung oder gar nicht.
--anna: Dann benenn ich sie eben im Windows-Explorer um, basta.
--explorer: Mach ich nicht. Ne Endung muss sein!
--anna: Na toll, jetzt hab ich ne .htaccess.txt. Google, hast Du ne Idee?
--google: Du kannst die Datei in der Eingabeaufforderung/DOS-Box von Windows mit dem DOS Befehl rename umbenennen. Du schreibst dann: RENAME C:.htaccess.txt .htaccess
--anna: DOS - ich hab Windows XP. Wie komme ich denn zu ner DOS-Box?
--google: Auf dem Rechner -->Start -->Ausführen -->cdm eintippen.
--anna: Welch ein Fackelzug - aber es geht. Die Datei heißt jetzt .htaccess. Jetzt schnell ab damit auf den Server.
--anna: Validome quittiert den Sitecheck mit dem begehrten grünen Balken: "Das Dokument ist valides XHTML 1.0 Transitional" und merkt
an: "Zeichenkodierung aus HTTP-Header". Geschafft!
 
Was willst Du uns jetzt damit "sagen"
.htaccess ist eine eigene Sache.
Damit kann man viel bewerkstelligen.
Nur falsch machen darf man damit nix!
Wenn Du Fragen hast, dann frage...
 
Du hast mich auf dieses Pferd (.htaccess) gesetzt, Herr Denz. Ich hatte vorher die Texte über System internes Gespräch gelesen und kam mir bei meinem Erstkontakt irgendwie genauso eingebunden in Gesetzmäßigkeiten und Abläufe vor. Die habe ich dann mal zu "Papier" gebracht.

Mittlerweile bin ich mutiger geworden, hab die .htaccess aufgerüstet mit dem kurzzeitigen "Erfolg", dass meine HP nicht mehr erreichbar war. Wie Du schon sagtest: "Nur falsch machen darf man damit nix!"

Ich werd' fragen, wenn ich weiter aufrüste. Danke.
 
Ein Tipp: verzichte auf das ganze Microsoft-Gedöns. Benutze statt dem Explorer zum Beispiel den "Total Commander", der läßt sich viel schöner bedienen und kann viel mehr als der Win-Explorer (zum Beispiel auch Dateien in .htaccess umbennen und und und und und....).
Statt Notepad würde ich mir nen anderen einfachen Text-Editor zulegen. Zum Beispiel Context. Der ersetzt auf Wunsch auch den Notepad und alles im Notepad aufgemacht wird, wird in Context geöffnet. Lädt genauso schnell, ist klein, kann syntax-highligthing, makros, textbausteine, hat tabs und und und und .... und speichert dateien auch gerne als .htaccess.

Aber ich hab mich am Anfang genauso schwer getan. htaccess hatte bei mir immer ne falsches Endung (oder nen namen davor). Erst auf dem weg zum Server ist da eine .htaccess draus geworden
 
Vielen Dank für Deine Tipps. Frage mich allmählich, wie ich überhaupt ohne Euch hier zurecht käme. Ich nehme den M$-Editor eigentlich nur für Kleinkram, um mal ein Stichwort abzuspeichern. Normalerweise arbeite ich mit Phase5, der wohl ähnlich dem von Dir beschriebenen Context arbeitet. Und eben hab' ich's getestet.

Phase5 speichert ohne zu Mucken eine .htaccess ab.
selberbloed.gif


Total Commander werd' ich mir mal ansehen. Vielleicht gehe ich dann ja auch hier "fremd".
 
@Anna,

Total Commander kann ich dir empfählen. Als Editor verwende ich PSPad aber da hat wohl jeder seine eigenen Vorlieben.

----

Zu deinem Dialog mit Validome. Ich würde sagen das der Fehler bei Validome liegt bei The W3C Markup Validation Service wird die Zeichenkodierung wenn nicht im HTTP-Header enthalten aus der <meta ... /> Angabe genommen. Das trifft nemlich auch zu wenn ich eine Datei zum prüfen hochlade wo soll da ein HTTP-Header herkommen.

Probier es mal aus .htaccess löschen und dann mal bei w3c validieren lassen. Oder du wählst die Zeichenkodierung bei HTML / XHTML / XML / WML Validator vor dem Prüfen händisch aus, dann wirds auch valid.
 
Zuletzt bearbeitet:
Zu deinem Dialog mit Validome. Ich würde sagen das der Fehler bei Validome liegt
Sorry, aber der Validome-Validator arbeitet völlig korrekt!
Nur weil der W3C-Validator hie und da keinen Fehler ausspuckt, heisst das nicht, das es keinen Fehler gibt!
Eine Meta-Angabe für den Charset ist völlig irrelevant bei XHTML-Dateien.
Es zählt dann entweder der Header welcher vom Server gesendet wird (falls überhaupt, denn ein Server sollte gar keinen Header senden = falsch konfiguriert), oder der XML-Prolog, der aber umstritten ist, da der IE6 das Dokument dann im Quirksmode darstellt.
 
... ich will nicht streiten wenn ich eine Datei (XHTML) hochlade und diese iso-8859-1 kodiert ist gibt Validome die Seite als nicht valid aus, es sei den ich wähle vorher die richtige Zeichenkodierung.

Was ist also nicht richtig daran wenn die Zeichenkodierung aus dem <meta ...> genommen wird.
 
Zuletzt bearbeitet:
Mein Ausgangspunkt war ja die fehlerhafte Darstellung im IE6. Deshalb habe ich ja den ganzen Fackelzug veranstaltet. Und ich lege Wert auf eine Validierung. Und jetzt geht's ja tadellos.

Finde die .htaccess richtig gut. Man kann da ja einiges mit veranstalten, z.B. die Fehlermeldungen selbst gestalten, Startseite festlegen usw. Hätte mir allerdings einige Klimmzüge ersparen können, wenn ich gleich nen vernünftigen Editor genommen hätte. Immerhin hab ich's trotzdem hinbekommen. Kann mich im Bedarfsfall richtig festbeißen. :d
 
Wenn ich eine Datei hochlade und darin die für XHTML zuständigen Sachen

  • HTTP-Header --> geht nicht da Dateiupload
  • Byte Order Mark --> bei iso-8859-1 ?
  • XML-Deklaration --> habe keine XML-Datei und für den Doctype auch nicht erforderlich
  • Fallback zu UTF-8 --> Seite/Datei ist --> iso-8859-1 oder auch gb2312

nicht enthalten sind sondern nur die meta-Angabe warum dann nicht verwenden. Wenn ich den WebExplorer 2.6.1 prüfen lasse und mir über "Erweiterte Einstellungen" die Header-Daten anzeigen lasse dann wird die Zeichenkodierung einmal aus dem HTTP-Header und aus dem meta erkannt und aufgelistet.
 
Zuletzt bearbeitet:
Geht's noch?

Edit: Also wie meinst du das?

Ich meine das so:
Der Server sendet eine Kodierung nach ISO-blabla.
Nun muss ich aber eine Seite mit kyrillischen Buchstaben machen und habe dann das Problem, das ich diese Sendung ändern muss.
Sendet der Server aber keine Kodierung, habe ich das Problem nicht und habe somit automatisch UTF-8 am Start.
 
Wenn ich eine Datei hochlade und darin die für XHTML zuständigen Sachen

  • HTTP-Header --> geht nicht da Dateiupload
  • Byte Order Mark --> bei iso-8859-1 ?
  • XML-Deklaration --> habe keine XML-Datei und für den Doctype auch nicht erforderlich
  • Fallback zu UTF-8 --> Seite/Datei ist --> iso-8859-1 oder auch gb2312

nicht enthalten sind sondern nur die meta-Angabe warum dann nicht verwenden. Wenn ich eine Seite prüfen lasse und mir über "Erweiterte Einstellungen" die Header-Daten anzeigen lasse dann wird die Zeichenkodierung einmal aus dem HTTP-Header und aus dem meta erkannt und aufgelistet.


In dem Fall magst Du ja recht haben.
Aber spätestens wenn die Seite Online geht, bekommst Du das Problem, das die Meta-Kodierung irrelevant ist.
Zum Testen, ok, aber sonst nicht.
Ist doch auch irgendwie schicker, wenn die Seite automatisch validiert ;)
Ich finde die Stelle jetzt beim W3C nicht auf die Schnelle, aber wenn ich's mal wieder finde, poste ich den Abschnitt.

Nachtrag:
http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/#heading-3.1%A0 schrieb:
Eine XML-Deklaration ist nicht in allen XML-Dokumenten erforderlich. Den Autoren von XHTML-Dokumenten wird jedoch sehr empfohlen, in all ihren Dokumenten XML-Deklarationen zu verwenden. Eine solche Deklaration ist erforderlich, wenn die Zeichenkodierung des Dokuments nicht die Standardkodierung UTF-8 oder UTF-16 ist und keine Kodierung durch ein Higher-Level-Protokoll bestimmt wurde.
http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/#heading-3.1%A0 schrieb:
C.9 Zeichencodierung

Historisch wurde die Zeichenkodierung eines HTML-Dokuments entweder durch einen Web-Server durch Angabe des charset-Parameters im HTTP Content Type Header oder durch ein Meta-Element im Dokument selbst angegeben. In einem XML-Dokument wird die Zeichenkodierung des Dokuments durch die XML-Deklaration angegeben (z.B. <?xml version="1.0" encoding="EUC-JP"?>). Der beste Ansatz, um Dokumente mit einer bestimmten Zeichenkodierung möglichst portabel anzubieten, besteht darin, sicherzustellen, dass der Web-Server die korrekten Header verwendet. Wenn das nicht möglich ist, muss ein Dokument, das seine Zeichenkodierung explizit setzen will, sowohl die XML-Deklaration mit Kodierungsdeklaration als auch einen Meta-http-equiv-Ausdruck (z.B. <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />) angeben. Der Wert des Kodierungsattributs der XML-Verarbeitungsanweisung hat in XHTML-konformen Benutzerprogrammen Priorität.

Hinweis: Beachten Sie, dass ein Dokument, das die Zeichenkodierungsdeklaration in einem Meta-http-equiv-Ausdruck enthalten muss, durch einen HTTP-Server und/oder durch Benutzerprogramme als vom angegebenen Medientyp angesehen werden kann. Wenn ein Dokument unter mehreren Medientypen verschickt werden soll, dann muss der HTTP-Server zum Setzen der Kodierung verwendet werden.
 
Zuletzt bearbeitet:
Ist doch auch irgendwie schicker, wenn die Seite automatisch validiert ;)
Ich finde die Stelle jetzt beim W3C nicht auf die Schnelle, aber wenn ich's mal wieder finde, poste ich den Abschnitt.

Bin ganz erstaunt, dass es das alles auch auf Deutsch gibt. Habe eben in der englischen Version gekramt und auch diese Stelle gefunden. Merkwürdig finde ich allerdings, dass in der neuen Beta-Version des W3C-Validators http://validator-test.w3.org/ eine XHTML-Seite immer noch validiert, auch wenn kein HTTP-Header die Zeichenkodierung liefert.
 
Ist ein XML-Prolog vorhanden?

Ich hatte den Neuen ausprobiert mit meiner Seite. Der XML-Prolog musste wegen des IE6 verschwinden. Der neue W3C hatte die Seite ohne Prolog validiert und die Zeichenkodierung genauso wie der alte aus den Metadaten genommen. Den Fackelzug mit der .htaccess habe ich wegen Validome gemacht, weil ich den Referrer haben wollte. (Ich finde den Button schicker. :D )

Bin aber froh, dass das der Einstieg in die .htaccess war, da die ja für eine Menge mehr Dinge taugt.
 
Dein Server liefert aber einen Header:
Content-Type: text/html; charset=iso-8859-1
Zeichenkodierung aus HTTP-Header: iso-8859-1
Kannst Du bei Validome unter "erweiterte Einstellungen" (Headerdaten anzeigen) nachsehen...
 
Ja, jetzt, seit ich die Zeichenkodierung über die .htaccess liefere. Vorher validierte die Seite nicht.
 
Zurück
Oben