Zum Inhalt springen

RealURL kodiert nicht

Erstellt am 12. Oktober 2011 · 5 Antworten · letzte Antwort am 19. Oktober 2011

Tags: RealURL, URLs & Routing, Frage

DerTobi ·

Hallo zusammen,

die Installation von RealURL scheint weitestgehend erfolgreich funktioniert zu haben:
- Es gibt keine Fehlermeldungen in der Erweiterung
- Die Auto-Konfiguration ist eingeschaltet, es gibt keine weitere Konfigurationsdatei
- Das Dekodieren von URLs funktioniert
- Den Cache habe ich gefühlte 1000 mal geleert

Das Problem ist, dass alle Links weiterhin im Format index.php?id=... angezeigt werden.
Hingegen funktioniert das Auflösen der sprechenden URLs einwandfrei, z.B.:
http://www.anatomie.uni-koeln.de/kontakt/

Die Autokonfiguration von RealURL ergibt folgendes:

$TYPO3_CONF_VARS['EXTCONF']['realurl']
[www.anatomie.uni-koeln.de]
  [init]
    [enableCHashCache]=1
    [appendMissingSlash]=ifNotFile,redirect
    [adminJumpToBackend]=1
    [enableUrlDecodeCache]=1
    [enableUrlEncodeCache]=1
    [emptyUrlReturnValue]=/
  [pagePath]
    [type]=user
    [userFunc]=EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main
    [spaceCharacter]=-
    [languageGetVar]=L
    [rootpage_id]=399
  [fileName]
    [defaultToHTMLsuffixOnPrev]=0
    [acceptHTMLsuffix]=1
  [preVars]
    [0]
      [GETvar]=L
    [valueMap]
      [en]=1
      [noMatch]=bypass

Da die rootpage_id korrekt erkannt wurde, gehe ich davon aus, dass alles stimmt.

Im Template-Setup der Rootpage steht:

config {
  simulateStaticDocuments = 0
  baseURL = http://www.anatomie.uni-koeln.de/
  tx_realurl_enable = 1
  uniqueLinkVars = 1
  linkVars = L(0-3)
  prefixLocalAnchors = all
}

Später soll RealURL mit mehreren Domains an unterschiedlichen Rootpages laufen, aktuell ist es dort jedoch deaktiviert.
Ich habe alle Konfigurationsänderungen die ich gefunden habe probiert, jedoch ohne jegliche Besserung.
Ich danke für Eure Hilfe!
Gruß
DerTobi

fuss ·

Olla!

Soweit sieht Deine Konfiguration auf den ersten Blick in Ordnung auf.

Was allerdings auffällt ist, dass auf der gesamten Uni-Seite es anscheinend keine Links gibt, welche längere Pfade haben (z.B. www.domain.tld/level1/level2/page.html).

Dies könnte ein Hinweis sein, dass die Extension simulateStaticDocuments installiert ist und somit realUrl keine "schönen" Links generiert. Ein "config.simulateStaticDocuments = 0"
greift dann afair nicht.

gruss, fuss

DerTobi ·

Hallo fuss,

danke für deine Antwort.

Die Extension simulateStaticDocuments ist deinstalliert. Da ich zunächst beide parallel laufen lassen wollte, waren jedoch beide kurzfristig zeitgleich installiert (aber das geht ja nicht). Um dadurch ggf. entstandene Probleme zu beheben habe ich gerade nochmal RealUrl komplett deinstalliert, gelöscht, neu importiert und installiert (simulatestatic weiterhin deinstalliert); anschließend und zwischendurch den Cache gelöscht. Leider ohne Effekt.

Was mir gerade auffällt:
Hat RealURL bei der Kodierung ggf. Probleme damit, dass die Webseiten bei Aufruf über deren ID über zwei (Sub)Domains erreichbar sind?
http://www.medfak.uni-koeln.de/index.php?id=400
http://www.anatomie.uni-koeln.de/index.php?id=400
Wenn ja, wie unterbinde ich das Aufrufen über die erste Subdomain (testweise)?

Die Dekodierung funktioniert - so wie gewünscht - jedoch nur mit der eigentlichen (in der BaseURL konfigurierten) Subdomain. Zum Vergleich:
http://www.medfak.uni-koeln.de/kontakt
http://www.anatomie.uni-koeln.de/kontakt

Viele Grüße und Dank!
DerTobi

fuss ·

Ist auf der root Seite der Subdomain ein entsprechender Domain-Eintrag vorhanden? (Web => List => Seiten ID => Domaineintrag hinzufügen).

DerTobi ·

Ja. Genau einer auf www.anatomie.uni-koeln.de, aktiv geschaltet und "In Links immer diese Domain voranstellen:" aktiviert.

Edit:
Das Phänomen, dass alle IDs auch unter www.medfak.uni-koeln.de erreichbar waren, lag daran, dass es keinen entsprechenden Domain-Eintrag für diese Subdomain gab. Sobald dieser erstellt ist, sind die IDs der anderen Subdomains nicht mehr darüber aufrufbar. Das RealURL-Problem ändert sich hierdurch jedoch nicht.

Edit 2:
Da sowohl die Tabelle ID-to-path-Mapping als auch der Encode Cache keine Einträge haben, habe ich gerade die Extension JB RealURL Regeneration gemäß dieser Anleitung installiert und getestet. Nach dem Aufruf der Seite sagt mir die Extension zwar "253 records created", aber auch "Records in the table tx_realurl_pathcache: 0". Beide Caches sind nach wie vor leer. Im Decode Cache steht übrigens die Seite "Kontakt" drin.
Kann es sein, dass irgend eine Extension oder das Template oder sonstige manuelle Programmiererei verhindert, dass diese Caches erzeugt werden? Lässt sich das irgendwie prüfen?

DerTobi ·

Fehler gefunden, Problem gelöst 🙂

Problem war folgender Eintrag in der eingebundenen Setup-Datei im Haupttemplate:

page = PAGE
page{
    config.simulateStaticDocuments = 1
    config.simulateStaticDocuments_noTypeIfNoTitle = 1
}

Obwohl simulateStaticDocuments deinstalliert und config.simulateStaticDocuments bereits auf 0 gesetzt war, hinderte dieser Eintrag das Kodieren der Links durch RealURL. Sobald ich beide Werte auf 0 setze läuft RealURL einwandfrei.

Vielen Dank für deine Hilfe fuss.