URL-Rewriting

Aus DynPG-Wiki
Version vom 19. Januar 2016, 10:35 Uhr von Urs Gamper (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Mit nachfolgender Anleitung ist es möglich, die URL einer Website selbst zu gestalten. Damit werden die Adressen leserlicher, aber nicht unbedingt einfacher oder kürzer. Sicher ist aber, dass mit dieser Möglichkeit noch einmal verbesserte Aussagen an Suchmaschinen überliefert werden können. Allerdings darf hier erwähnt sein, dass dynpg bereits schon lange excellente Möglichkeiten bietet, sich bei Suchmaschinen gut zu positionieren.

Es ist empfehlenswert, beim Erstellen von php-Seiten von Beginn weg sich Gedanken über die möglichen Konsequenzen zu machen. Dasselbe gilt auch beim Aufbau der Struktur innerhalb des Backendes. Da ist es sinnvoll, die Navigation hierarchisch in einer Gruppe und nicht direkt im Root zu erstellen. Hier bietet sich als Gruppenname gleich eine allfällige Sprachangabe wie z.B. "de" oder "en" an. Wenn man eine PHP-Seite mit dem Namen "erklaerung.php" erstellt, wird diese in der URL danach mit www.domain.org/-erklaerung/de/(gruppenname) angegeben.

Einrichten des URL-Rewritings

Mit der dynpg-Vollversion 4.7 wird eine erweiterte config.php sowie eine .htaccess bereitgestellt. Dabei müssen folgende Punkte beachtet werden:

  1. in der Datei config.php (Einstellungen in der Konfigurationsdatei) müssen die php-Templates bei der config_Register_Pages eingetragen und config_Url_Rewrite aktiviert werden
  2. es ist zwingend, dass alle Updates auf dem aktuellsten Stand sind
  3. im Backend von DynPG müssen bei den Gruppen die unterschiedlichen Templates festgelegt werden
  4. bei URL-Name können andere suchabhängige Namen vergeben werden
  5. der Festlegung von internen Links muss besondere Beachtung geschenkt werden
  6. die Pfadangabe für css und js muss angepasst werden

Anpassen der Datei config.php

Die Zeilen im Zusammenhang mit diesem Modus sind auf der Seite (Einstellungen in der Konfigurationsdatei) ersichtlich.

Plugins updaten

Sobald der Modus URL-Rewriting eingeschaltet wird, ist es notwendig, dass alle Updates auf dem Stand der dynpg-Version 4.7 sind.

Templates festlegen

Über die Zeile "config_Register_Pages" in der config.php wurden die Templates angegeben, welche danach innerhalb der Gruppenansicht von dynpg je Gruppe zugewiesen werden können. Hier die Zeile in der config.php: $GLOBALS['cfg']["config_Register_Pages"] = 'Index=../index.php{query}, Events=../events.php{query}'; // string

Nachfolgend die Ansicht des Auswahl-Dropdowns:

URL-Rewriting Templates festlegen.gif

URL-Namen festlegen

Zur Verbesserung von Suchbegriffen können URL-Namen definiert werden. Nachfolgende Zeile als Beispiel:

Domainname/-tanzschule/tanzkurse-zuerich/hochzeit-salsa-discofox-tango/hochzeits-tanzkurse/

-tanzschule ist die verwendete Seite tanzschule.php, welche hier standardmässig definiert wurde. Danach wurde der Navigationspunkt (oder der dynpg-Gruppenname) "Neubeginn Tanzkurse alle Tänze" definiert, welcher aber bei URL-Name den Eintrag "tanzkurse-zuerich" drin hat. Diese Gruppe hat wieder weitere Untergruppen. Eine davon ist die Gruppe "Hochzeit, Salsa, Discofox, Tango". Das Komma wird in diesem Fall mit einem Bindestrich ersetzt. Die dritte Ebene lautet auf der Website bzw. in dynpg "Hochzeitstanz-Vorbereitung" und wird mit dem URL-Name "hochzeits-tanzkurse" überschrieben.

URL-Rewriting URL-Name-festlegen.gif

Interne Verlinkungen

Sobald man nun interne Verlinkungen erstellt, ist die Vergabe von URL-Namen risikoreich, wenn man diese aus der URL-Adresse kopiert. Es ist empfehlenswert, interne Verlinkungen in der Art "/seite.php?read_group=5" (5 mit Gruppen-ID ersetzen) bzw. je nach Hierarchie "/seite.php?read_article=5" zu verwenden.

Anpassen des Dateipfades

Damit der Browser weiss, dass die Pfadangabe ab Domain beginnend interpretiert wird und nicht ab dem aktuell aufgerufenen Pfad, muss vor manuell eingebundenen JS/CSS-Dateien am Pfadbeginn ein "/" sein. Damit wird zum Beispiel bei nachfolgender Adresse http://mobil-barrierefrei.ch/-webdesign/beispiele/ nicht ab "beispiele/", sondern ab der Domain gesucht: /dynpg/js/jquery.js