Einstellungen
Folgende Optionen stehen zur Einstellung des AMR zur Verfügung:
Advanced Mod Rewrite aktivieren: Zum Aktivieren des Plugins ist das Häkchen zu setzen
Pfad zur .htaccess Datei vom DocumentRoot ausgehend: Liegt die .htaccess im wwwroot (DocumentRoot), ist '/' anzugeben, ist CONTENIDO in einem Unterverzeichnis von wwwroot installiert, ist der Pfad vom wwwroot aus anzugeben (z. B. http://domain/mycontenido -> Pfad = '/mycontenido/').
Pfad zu .htaccess Datei überprüfen: Ist diese Option aktiv, wird der eingegebene Pfad überprüft. Das kann unter Umständen einen Fehler verursachen, obwohl der Pfad zwar richtig ist, aber der Mandant einen anderen DocumentRoot als das CONTENIDO Backend hat.
Werden mehrere Mandanten in einem Verzeichnis gepflegt?
Soll die Sprache mit in der URL erscheinen (für Mehrsprachsysteme unabdingbar)?
Soll der Name des Hauptbaumes mit in der URL erscheinen? Ist diese Option gewählt, wird der Name des Hauptbaumes (Kategoriebaum, z. B. "Hauptnavigation" bei CONTENIDO Standardinstallation) der URL vorangestell
Mit den nächsten 4 Einstellungen können die Trennzeichen in den generierten URLs nach den eigenen Wünschen gesetzt werden. Hier können die folgenden Werte gesetzt werden:
- Kategorie-Separator (Trenner zwischen einzelnen Kategorien)
- Kategoriewort-Separator (Trenner zwischen einzelnen Kategoriewörtern)
- Kategorie-Artikel-Separator (Trenner zwischen Kategorieabschnitt und Artikelname)
- Artikelwort-Separator (Trenner zwischen einzelnen Artikelwörtern)
Kategorie-Separator und Kategoriewort-Separator müssen unterschiedlich sein.
# Beispiel: Kategorie-Separator (/) und Kategoriewort-Separator (_) kategorie_eins/kategorie_zwei/artikelname.html
Kategorie-Separator und Artikelwort-Separator müssen unterschiedlich sein
# Beispiel: Kategorie-Separator (/) und Artikelwort-Separator (-) kategorie_eins/kategorie_zwei/artikel-bezeichnung.html
Kategorie-Artikel-Separator und Artikelwort-Separator müssen unterschiedlich sein
# Beispiel: Kategorie-Artikel-Separator (/) und Artikelwort-Separator (-) kategorie_eins/kategorie_zwei/artikel-bezeichnung.html
Folgende weitere Werte können gesetzt werden:
Arikelname an URLs anhängen: z. B. "index" für index.html. Wenn die Option "Artikelname immer an die URLs anhängen" aktiviert und das Feld leer ist, wird der Name des Startartikels verwendet.
Dateiendung am Ende der URL: Angabe der Dateiendung mit einem vorangestellten Punkt, z. B. ".html" für http://host/foo/bar.html
Falls die Option "Artikelname immer an die URLs anhängen" nicht gewählt wurde, ist es zwingend notwending, dass hier eine Dateiendung angegeben wird. Sonst haben URLs zu Kategorien und zu Seiten das gleiche Format, und die korrekte Auflösung der Kategorie und/oder des Artikels kann nicht gewährleistet werden.
Sollen die URLs klein geschrieben werden? Ist dieser Parameter aktiviert werden alle Zeichen der URL klein geschrieben.
Duplicate Content: Seiten werden je nach Konfiguration unter verschiedenen URLs gefunden. Das Aktivieren dieser Option unterbindet dies. Beispiele für duplicated Content:
- Name des Hauptbaumes in der URL: Möglich /hauptkategorie/unterkategorie/ und /unterkategorie/
- Sprache in der URL: Möglich /deutsch/kategorie/ und /1/kategorie/
- Mandant in der URL: Möglich /mandant/kategorie/ und /1/kategorie/
Prozentsatz für ähnliche Kategorie-Pfade in URLs: Diese Einstellung bezieht sich nur auf den Kategorieteil einer URL. Ist AMR so konfiguriert, dass z. B. die Hauptnavigation und/oder Sprache sowie der Name des Mandanten an die URL vorangestellt wird, so wird der hier definierte Prozentsatz nicht auf diese Werte der URL angewendet. Eine ankommende URL wird von solchen Präfixen entfernt, der übrig gebliebene Pfad (Urlpfad der Kategorie) wird auf die Ähnlichkleit hin geprüft.
Beispiel:
100 = exakte überinstimmung, keine fehlertoleranz
85 = pfade mit kleineren fehlern ergeben auch treffern
0 = vollständig fehlerhafte pfade ergeben dennoch einen treffer
Weiterleitung bei ungültigen Artikeln: Ist diese Option aktiviert wird auf die definierte Fehlerseite weitergeleitet. Ist die Option nicht aktiv, wird die Startseite angezeigt.
Zeitpunkt zum Generieren der URLs:
a.) Bei der Ausgabe des HTML Codes der Seite
Clean-URLs werden bei der Ausgabe der Seite generiert. Module/Plugins können URLs zum Frontend, wie in früheren Versionen von CONTENIDO üblich, nach dem Muster "front_content.php?idcat=1&idart=2" ausgeben. Die URLs werden vom Plugin vor der Ausgabe des HTML-Outputs Clean-URLs ersetzt.
Unterschiede zur Variante b.):
- Weiterhin Kompatibel zu älteren Modulen/Plugins, da keine Änderungen am Code nötig sind
- Sämtliche im HTML-Code vorkommende URLs, auch über wysiwyg gesetzte URLs,
werden auf Clean-URLs umgestellt - Alle umzuschreibenden URLs werden in der Regel "gesammelt" und auf eimmal umgeschreiben,
dadurch wird die Anzahl der DB-Abfragen sehr stark minimiert
b.) In Modulen oder Plugins
Bei dieser Option werden die Clean-URLs direkt in Modulen/Plugins generiert. Das bedeutet, dass alle internen URLs auf Kategorien/Artikel in den Modulausgaben ggf. manuell angepasst werden müssen. Clean-URLs müssen dann stets mit folgender Funktion erstellt werden:
# aufbau einer normalen url $url = 'front_content.php?idart=123&lang=2&client=1'; # erstellen der neuen Url über CONTENIDOs Url-Builder (seit 4.8.9), # der die Parameter als assoziatives array erwartet $params = array('idart'=>123, 'lang'=>2, 'client'=>1); $newUrl = Contenido_Url::getInstance()->build($params);
Unterschiede zur Variante a.):
- Der Standardweg um URLs zu Frontendseiten zu generieren
- Jede URL in Modulen/Plugins ist vom UrlBuilder zu erstellen
- Für jede umzuschreibende URL ist eine Datenbankabfrage nötig
Routing: Pro Zeile eine Routing Definition wie folgt eingeben:
# {eingehende_url}>>>{neue_url} /eingehende_url/name.html>>>neue_url/neuer_name.html # bestimmte eingehende url zur einer seite weiterleiten /aktionen/20_prozent_auf_alles_ausser_tiernahrung.html>>>front_content.php?idcat=23 # request zum wwwroot auf eine bestimmte seite routen />>>front_content.php?idart=16
- Das Routing schickt keinen HTTP Header mit einer Weiterleitung zur Ziel-URL, die Umleitung findet intern durch das Ersetzen der erkannten Eingangsseite gegen die neue Zielseite statt (Überschreiben der Artikel-/Kategorieid)
- Eingehende URLs können auch nicht vorhandene Ressourcen (Kategorie, Artikel) sein, hinter der Ziel URL muss eine gültige CONTENIDO-Seite (Kategorie/Artikel) liegen
- Als Ziel URL sollte eine reale URL zur Kategorie/Seite angegeben werden, z. B. front_content.php?idcat=23 oder front_content.php?idart=34.
- Bei mehrsprachigen Auftritten sollte die Id der Sprache angehängt werden, z. B. front_content.php?idcat=23&lang=1
- Bei mehreren Mandanten im gleichen Verzeichnis sollte die Id des Mandanten angehängt werden,z. B. front_content.php?idcat=23&client=2
- Die Zielurl sollte nicht mit '/' oder './' beginnen (falsch: /front_content.php, richtig: front_content.php)
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.