Schlagwort-Archiv Attributwerte

mod_rewrite – Apache Servermodul

mod_rewrite ist ein Modul für den Webserver Apache ab Version 1.3

Was ist mod_rewrite?
mod_rewrite dient zur Manipulation und Weiterleitung von URLs. mod_rewrite beruht auf der Programmiersprache Perl.

Wer muss sich mit diesem Modul auseinandersetzen?
mod_rewrite ist vor allem wichtig für diejenigen, die einen Webserver auf Basis von Apache aufbauen wollen. Wer nur eine einfache Homepage erstellen möchte, der muss sich über dieses Modul bestimmt nicht den Kopf zerbrechen. Zudem können moderne Content Management Systeme (CMS) mit dem Modul mod_rewrite umgehen und erleichtern zudem das Leben eines Webmasters ungemein, wenn es um die Gestaltung komplexer Seiten geht.

Was kann mod_rewrite?
mod_rewrite ermöglicht die Manipulation von URLs durch Regeln, die in einem Verzeichnis-Container oder einem virtuellen Rechner innerhalb der zentralen Konfigurationsdatei httpd.conf definiert werden können. Wahlweise können Regeln auch in der Datei .htaccess hinterlegt werden. Letztere Methode ist wohl die gebräuchlichste, insbesondere da die gen. Datei bei den meisten Providern jedem Kunden zur Verfügung steht. Wer selbst über einen Webserver verfügt, dem ist aus Gründen der Performance allerdings zu raten, Direktiven in httpd.conf vorzunehmen.

Achtung! mod_rewrite ist mit großer Vorsicht zu genießen! Dieses Modul bietet sehr viele Möglichkeiten, kann aber bei falscher Konfiguration dafür sorgen, dass man seine eigene Seite nicht mehr aufrufen bzw. anzeigen kann!

Sehen wir uns den Gebrauch von mod_rewrite einmal etwas näher an:

Um den Rewrite Engine zu aktivieren muss in der jeweiligen Konfigurationsdatei folgender Eintrag gesetzt werden: RewriteEngine on
Diese Anweisung muss immer ganz am Anfang einer Regel stehen und teilt mod_rewrite mit, daß eine Manipulation einer URL ansteht.

Die eigentliche Umleitung bestimmt die Direktive RewriteRule, die aus zwei Parametern besteht:
1. einem Ausdruck, der festlegt welche URLs umgeleitet bzw. manipuliert werden sollen und
2. die Definition der Umleitung
RewriteRule kann mehrmals in der Konfiguration vorkommen. Allerdings gilt hier: Umleitungen
von URLs werden der Reihe nach abgearbeitet!
Zusätzlich stehen verschiedene Optionen zur Verfügung, die auch kombiniert werden können.

Ein Beispiel dazu aus der Praxis:

//RewriteEngine on
//RewriteRule (.*)\.html$ /cgi-bin/meinscript.pl?var=$1

Hier werden alle Dateien mit der Endung html dem Skript meinscript.pl übergeben und der Dateiname gleichzeitig als Parameter übermittelt.
RewriteRule ist der am meisten gebrauchte Befehl von mod_rewrite.
Aber es gibt noch andere sehr wichtige Anweisungen:
Die Anweisung RewriteBase
RewriteBase darf nur in einem Directory-Container innerhalb der Datei httpd.conf oder in .htaccess verwendet werden. RewriteBase ist zwingend erforderlich, wenn ein Verzeichnis nicht unter seinem physikalischen Namen von Apache erreichbar ist, z.B. durch Einträge eines Alias. Wird mit Alias gearbeitet, findet RewriteRule entsprechende Einträge von alleine nicht. RewriteBase schafft da Abhilfe:
Führen wir gen. obiges Beispiel weiter: Alle aufgerufenen Dateien mit Endung .html sollen an ein Skript namens meinscript.pl übergeben werden. Das physikalische Verzeichneis lautet /home/juergen/einsaetze/2011. Das gen. Directory wurde mit einem Alias /2011 zwecks schnellerem Auffindens beispielsweise in der Datei .htaccess versehen.
Die Anweisung RewriteRule hat jetzt ein echtes Problem und deren alleinige Anwendung würde nicht zum gewünschten Ergebnis führen. Hier kommt der Befehl RewriteBase ins Spiel:

//RewriteEngine on
//RewriteBase /2011
//RewriteRule (.*)\.html$ /cgi-bin/meinscript.pl?var=$1

Dies ist nur ein ganz kleiner Einblick in mod_rewrite, weitere Informationen bietet: http://www.apache.org

XML – Xtensible Markup Language

Xtensible Markup Language – XML, ist eine Meta-Sprache in Form von Textdaten, die den Austausch, die Darstellung sowie die Datenmanipulation von Daten erlaubt, so dass diese von zahlreichen Anwendungen genutzt werden kann.

Beim XML, anders als beim HTML, handelt es sich nicht um ein festes Format im Sinne einer bestimmten Sprache, sondern geht es vielmehr um eine Metasprache, welche Vorschriften bereitstellt und zahlreiche Sprachen für die vielseitigsten Dokumenten definiert. Aber auch ermöglicht XML, neben der Unterstützung unterschiedlicher Arten des Dokumentenaustausches, die flexible Weiterverarbeitung von Dateninformationen und bildet die Grundlage für eine Verwendung von Metadaten.

XML – die Entstehung:
XML ist der Nachfolger der SGML – Standard Generalized Markup Language – Metasprache, die schon Anfang der 70-er Jahre von den Entwicklern verwendet wurde. Der Nachteil an der Sprache war es jedoch, dass die Marken auf unterschiedlichen Tools verarbeitet werden mussten. Folglich entschloss man sich, einen neue Metasprache zu entwickeln, die es ermöglichte beliebige Markup-Sprachen zu beschreiben, und diese dann mit den gleichen Tools zu verarbeiten. Da XML logisch eine Ebene über der zu beschreibenden Sprache liegt, spricht man hier von Metasprache.

Die XML Grammatik:
Die Grammatik von XML entspricht grundsätzlich der vereinfachten SGML Grammatik. Die Grammatik wird als „regulär“ bezeichnet. So muss, beispielsweise, jedes Tag mit einem Ende-Tag geschlossen werden: //<P>….</P>. Auch die Attributwerte befinden sich immer in Anführungszeichen: //<TD ALIGN=“LEFT“>. Jedem Attribut wird ein Wert zugewiesen und XML ist case-sensetiv.

Merkmale von XML:
XML ermöglicht das Einfügen strukturierter Daten in eine Textdatei. Die Syntax und der Aufbau der XML ähnelt der HTML Sprache ein wenig. Die Sprache wird von Maschinen gelesen, ist aber auch dem Menschen verständlich. XML vereinigt eine ganze Familie von Technologien und ist wortreich. Als eigenständige Sprache ist XML noch recht neu, entsprang aber einer bedeutenden Sprache. Zudem ist XML plattformunabhängig, lizenzfrei und wird umfangreich unterstütz.

Aufbau und Inhalt:
Ein XML Dokument beinhaltet mindestens ein Element und den dazugehörigen Inhalt: //<title>Präsentation</title>. Das Element besteht aus einem Anfang-Tag, dem Inhalt und dem Ende-Tag. Ein XML Dokument besteht genau aus einem Wuzelelement, der auch als Basiselement bezeichnet wird und weiteren, untergeordneten Elementen. Die untergeordneten Elemente können auch verschachtelt wiederholt werden:
//<person>
//<name> Konrad Zuse </name>
//<title> Die Idee zur Prozesssteuerung</title>
//<title> Echo</title>
//<title>Rechner</title>
//</person>
Hier wurde das Element “title” mehrfach im XML Dokument verarbeitet.

Inhalt mit reservierten Zeichen:
Einige Zeichen dürfen nicht im Text verwendet werden, da diese, wie der Name schon sagt zur Abgrenzung von Bezeichner und Inhalt oder Werten eines Attributes dienen. Ein Beispiel solchen Zeichen wäre: <, & oder “. Aber auch die Zeichen < und & dürfen nicht im Inhalt eines Elements verwendet werden, da diese Teil der Sprache sind und vom Rechner falsch interpretiert werden. Jedoch darf der Name eines Elements Buchstaben, Zahlen, Bindestriche oder aber auch Punkte und Unterstriche enthalten.

Deklaration und Kommentare:
Ein XML Dokument kann – ist aber keine Voraussetzung- weitere Bestandteile, wie etwa XML Deklaration, Processing Instructions und Kommentare enthalten. So kann ein Dokument in der ersten Zeile mit der Versionsnummer deklariert werden. Aber auch kann die gesamte Datei Kommentare enthalten. Dies ist besonders praktisch, wenn die Datei später von einem Programmierer gelesen werden soll, der die Seite nicht programmiert hat, diese jedoch zur Weiterentwicklung benötigt.