Module not found: SiteAccessSettings

eZ publish
22.10.2014

Mit der Einstellung "MatchOrder: host_uri" lassen sich verschiedene SiteAccess ansteuern. Interessant etwa für verschiedenen Sprachversionen oder aber auch und vor allem für den administrativen SiteAccess.

Eine fehlende Information in Dokumentation und Beispiel-site.ini können hierbei zu großer Konfusion führen.

In der site.ini wird im Bereich [SiteAccessSettings] festgelegt, unter welcher URL oder welchem Pfad ein bestimmter SiteAccess aufgerufen wird. So schön und umfangreich die angegebenen Beispiele sind, als so tückisch kann sich das Konstrukt erweisen.

MatchOrder: host_uri

Mit ein wenig Nachdenken lässt sich die Funktionsweise der "MatchOrder: host_uri" recht schnell nachvollziehen:

## This example will match on example.com/nor
#HostUriMatchMapItems[]=example.com;nor;example_nor
## This example will match on example.com/eng & www.example.com/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;end
## This example will match on example.com/eng & example.com.localhost/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;start
## This example will match on example.com/eng, www.example.com/eng & example.com.localhost/eng
#HostUriMatchMapItems[]=example.com;eng;example_eng;part
## This example will match on example.com
#HostUriMatchMapItems[]=example.com;;example

Ruft man im Browser die URL http://example.com/nor auf, landet man im example_nor-SiteAccess und kann mit den entsprechenden Templates einen auf Norwegen zugeschnittenen Webauftritt erstellen.

Will man nun die URL zum administrativen Bereich individuell festlegen, dann kann das etwa so aussehen:

HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess

So weit so gut. Und jetzt die Falle: Mit keinem Wort ist erwähnt, dass die Reihenfolge der Einträge wichtig ist. Denn sie werden von oben nach unten abgearbeitet und der erste passende Eintrag kommt zur Anwendung.

Module not found

Folgender Eintrag für den Admin-Bereich lässt einen schnell verzweifeln. Denn statt des Admin-Logins unter http://example.com/admin_area begrüßt einen die "Module not found" Meldung.

HostUriMatchMapItems[]=example.com;;example
HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess

Die Erklärung ist banal: eZ sucht unter der angegebenen URL einen Node mit dem Namen "admin_area" und versucht ihn mit dem example-SiteAccess darzustellen. Der Node wird mit an Wahrscheinlichkeit grenzender Sicherheit nicht existieren. Die zweite Zeile, die auf den richtigen SiteAccess verweist, kommt nicht zur Anwendung. Dreht man die Einträge um:

HostUriMatchMapItems[]=example.com;admin_area;admin_siteaccess
HostUriMatchMapItems[]=example.com;;example

Wird der gewünschte SiteAccess angesteuert und der Admin-Login erscheint.

comments powered by Disqus

OwnCloud

OwnCloud

ownCloud

Wem in der Vergangenheit mulmig war, seine Daten bei Amerikanischen Multis zu speichern...

Wer sich heute angesichts der NSA Praktiken bestätigt fühlt...

Wer aber trotzdem nicht auf Cloud Dienste verzichten möchte...

Für den gibt es - und das nicht erst seit gestern - eine Alternative: OwnCloud.

A ? B C D E F G H I J K L M N O P Q R S T U V W Z