Hallo,
ich nutze auf angemietetem Webspace die Genelogie-Software Webtrees und habe als Unterverzeichnis Matomo lokal installiert. Ich erhalte für Webtrees eine Fehlermeldung:
PHP Fatal error: Uncaught Fisharebest\\Webtrees\\Http\\Exceptions\\HttpBadRequestException: Der Parameter \xe2\x80\x9eroute\xe2\x80\x9c fehlt. in /htdocs/webtrees/app/Validator.php:333: /htdocs/webtrees/index.php
Auslöser laut Log ist: POST /webtrees/XXXX/matomo/?module=API&format=csv&convertToUnicode=0&method=CoreAdminHome.runScheduledTasks&trigger=archivephp HTTP/1.1
Der Webtrees-Autor schreibt mir dazu:
“I guess that this URL should be sent to your Matomo installation.
Instead, it is being sent to webtrees.
I guess that you need to check your webserver configuration.”
Es ist leider nur eine Vermutung, ich kenne Webtrees nicht, aber wenn Webtrees sprechende URLs verwendet, die per .htaccess auf z.B. eine index.php umgeleitet werden, dann wird auch der Matomo-Aufruf entsprechend verwurstet, sprich du erreichst dein Matomo gar nicht, sondern der Request wird durch die Anweisungen in der .htaccess direkt an Webtrees weitergereicht.
Um das zu ändern, musst du in der .htaccess eine Ausnahmeregel für den Matomo-Pfad in die entsprechende Rewrite-Regel hinzufügen. Wenn die .htaccess nicht zu umfangreich ist, kannst Du sie ja einmal hier posten, dann kann ich Dir mehr sagen. Ggf. vorhandene Hostnamen kannst Du ja durch Platzhalter ersetzen, solange am Platzhalter erkennbar ist, dass es ein Domainname ist.
Volltreffer. Es gibt verschiedene Möglichkeiten, das zu korrigieren. Die einfachste wäre, Matomo auf eine Subdomain zu legen statt es auf der Hauptdomain anzusprechen. Damit hättest du eine saubere Trennung und keine potentiellen Probleme bei Updates. Alternativ kannst Du eine weitere RewriteCond hinzuzufügen, die nur triggert, wenn der Pfad nicht mit /matomo/ beginnt. Teste doch einmal folgendes, ich nehme an, Webtrees liegt in / und Matomo in /matomo/, richtig?