Einfaches URL-Rewrite 
url_simple_rewrite, Version 2.2 
Autor:  Wolfgang Busch
 Dieses AddOn ist eine Erweiterung des Standard-Rewriters
und nutzt den Extension Point  URL_REWRITE .
Es dient im Wesentlichen nur als exemplarische Einführung in die
Funktionsweise des Rewriters. 
Der Artikel-URL wird hier in einer besonders einfachen Form
aus Artikel-Id, Sprach-Code und Artikelname gebildet:
 ID-CODE-NAME.html . Seiten können aber auch
über den Redaxo-Standard-URL aufgerufen werden. 
Es sind keine besonderen RewriteRules erforderlich. 
  
Setzen eines Wunsch-URLs 
Die URL-Standardform in Redaxo
 index.php?article_id=ID&clang=CID 
enthält lediglich die Artikel-Id und die Sprach-Id. In der Regel
soll stattdessen jeder Artikel einen "Wunsch-URL"
erhalten, der Hinweise gibt auf Artikelinhalt, Themenkategorie
u.s.w.  
Zur Realisierung wird eine Funktion definiert, die den gewünschten
URL am Extension Point URL_REWRITE zurück gibt.
Im Backend wird diese Funktion nur im Content-Kontext eines
Artikels (Editieren oder andere Funktionen) aufgerufen,
im Frontend nur innerhalb der Funktion
rex_getUrl($article_id,$clang_id). Letztere liefert
dem Redakteur (z. B. in Templates oder Modulen) den URL eines
Artikels und die Anzeige im Browser-Adressfeld. 
 
Rewrite-Mechanismus 
Ein URL in der oben beschriebenen Form wird
(inkl. Parameter) durch eine Umleitungsregel
 RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]
in der Datei  .htaccess an das Redaxo CMS übergeben.
Links auf Dateien oder Verzeichnisse erfolgen ohne Umleitung.
In der Datei  boot.php des AddOns wird der aktuelle URL
inkl. Parametern mittels  $_SERVER['REQUEST_URI']
ausgelesen und daraus die zugehörige Artikel-Id und seine
Sprach-Id abgeleitet.  
 
Ausblick auf reale Wunsch-URLs 
Im Allgemeinen sind Artikel-Id und Sprach-Id
nicht so einfach wie hier zu ermitteln. Aber der beschriebene
Rahmen kann generell beibehalten werden. Zu beachten ist: 
    - Zu einem Link auf eine Seite im Frontend muss der
        zugehörige Artikel samt Sprachversion eindeutig zu
        ermitteln sein.
 
    - Um den Aufwand für die Ermittlung des Artikels und
        damit die Belastung des Servers möglichst gering zu
        halten, kann der URL z. B. als zusätzlicher
        Artikelparameter (Meta Info) mitgeführt werden.
        Der Aufwand würde dadurch beim Zugriff auf den Artikel
        im Backend automatisch mit erledigt werden.
 
    - Für die Konstruktion des Wunsch-URL bietet sich ein
        Rückgriff auf den path-Parameter des Artikels
        an.
 
    - Die Kennzeichnung der Sprachversion im Frontend kann
        im URL mitgeführt werden, alternativ aber auch z.B.
        im Sinne eines "Sprach-Kontextes" in einer
        Session-Variablen.
 
 
AddOn-Download 
              
            
         |