Adventure,PHP,Framework,PageController,FrontController,Pattern,Objektorientierung,OO,Software,Design,Wiederverwendbarkeit,UML,Tutorial,Benchmark,ausgezeichnete Performance

Suche:    
Downloads  |  SVN!  |  Roadmap  |  Forum!  |  Bugtracking  |  Gästebuch  |  Backlinks!  |  Referenzen!  |  Sitemap  |  Impressum  
 
Deutsch | English Adventure PHP Framework  Bookmark @ Technorati Bookmark @ del.icio.us Bookmark @ Mr. Wong Bookmark @ Simpy Bookmark @ Google Bookmark @ Digg.com Adventure PHP Framework Seite 069-URL-Rewriting drucken!

URL-Rewriting

1. Einleitung

Das Adventure PHP Framework bietet die Möglichkeit, Webseiten und Applikationen mit und ohne URL-Rewriting zu betreiben. Unter URL-Rewriting wird im allgemeinen verstanden, dass URL-Parameter und -Werte nicht wie üblich per "&" und "=", sondern via "/" separiert werden. Das erweckt den Eindruck, dass die Inhalte in Ordnern abgelegt sind. Ein weiterer schöner Nebeneffekt ist, dass Suchmaschinen sog. Slash-URLs für gewöhnlich besser indizieren. Diese Maßnahme ersetzt jedoch keine komplette Suchmaschinenoptimierung.


2. Konfiguration

Beim Einsatz des URL-Rewrite-Modus muss beachtet werden, dass die Bootstrap-Datei (z.B. index.php) im DOCUMENT_ROOT des Webservers oder eines VHOSTs liegt, da sonst die Zuordnung der Parameter zu ihren Werten nicht korrekt ausgeführt werden kann.


2.1. Apache-Konfiguration

Zur Verwendung des URL-Rewrite-Modus muss eine .htaccess-Datei im Verzeichnis der Bootstrap-Datei angelegt werden. Die folgende Codebox zeigt eine Beispiel-Konfiguration die für die meißten Anwendungsfälle verwendet werden kann:
# Aktivierung von mod_rewrite
RewriteEngine on

# Ausschluss definierter Verzeichnisse von der RewriteRule
RewriteCond %{REQUEST_URI} !^(\/frontend) [NC]

# Definition der RewriteRule. Alle Anfragen ausser den ausgenommenen
# Dateien werden auf die index.php weitergeleitet
RewriteRule !(index\.php|\.css|\.jpe?g|\.png|\.gif|\.ico)$ /index.php?query=%{REQUEST_URI}&%{QUERY_STRING} [NC,L]
Dabei ist zu beachten, dass die Definition
/index.php?query=%{REQUEST_URI}&%{QUERY_STRING}
bindend ist. Diese spezifiziert den Parameter, der vom pagecontrollerRewriteRequestFilter oder vom frontcontrollerRewriteRequestFilter genutzt wird, um die per URL übergebenen Informationen aufzubereiten. Die Ausnahmeregelung
!(index\.php|\.css|\.jpe?g|\.png|\.gif|\.ico)$
kann dabei frei definiert werden.


2.2. Framework-Konfiguration

Um das Framework nun im URL-Rewrite-Modus verwenden zu können, ist es notwenidg, den Registry-Wert URLRewriting im Namespace apf::core auf true zu setzen. Dies kann durch
   $Reg = &Singleton::getInstance('Registry');
   
$Reg->register('apf::core','URLRewriting',true); 
in der Bootstrap-Datei erledigt werden.


3. Einsatz von URL-Rewriting

Beim Einsatz der URL-Rewrite-Modus sollte folgendes beachtet werden:
  • Ressourcen wie Bilder, CSS-Dateien oder Java-Scripte müssen absolut addressiert werden.
  • Module, die für den Einsatz mit und ohne URL-Rewriting verfasst werden, müssen an den relevanten Stellen die Information aus der Registry nutzen um die unterschiedlichen Fälle abbilden zu können.
  • Werden mehrere Bootstrap-Dateien verwendet, müssen diese in der Ausnahmeliste in der .htaccess-Datei aufgeführt werden.

Kommentare

Bitte geben Sie Ihren Kommentar hier ein. Füllen Sie alle mit * gekennzeichneten Felder vollständig und korrekt aus. Um zum Artikel zurückzukehren klicken sie bitte hier. Zur Formatierung des Textes können folgende BBCode-ähnliche die Zeichen verwendet werden:
  • [f]..[/f]: fett
  • [k]..[/k]: kursiv
  • [u]..[/u]: unterstrichen
Hinweis: Formatierungszeichen in Name und E-Mail-Adresse werden nicht akzeptiert.

Name:*
E-Mail:*

Kommentar:


Bestätigungscode:*



Powered by WebRing.