Einfachste Lösung:
Sich auf eins festlegen und mittels Redirect immer auf das richtige umleiten.
Das für mich merkwürdige ist, dass alles andere ja soweit funktioniert. Also alle anderen Dateien (Bilder) des Themes werden von /foto/admin/ geladen, weil sie im HTML und CSS Code relativ angegeben werden. Nur die Pfade des Fonts im CSS Code sind absolut und verweisen auf /admin.
Die Idee mit dem htaccess ist vielleicht eine Lösung, aber das ist eine Docker Installation und da muss ich erst rausfinden welcher Server installiert ist und wo ich den finde.
Die Dateien unter combined werden immer neu erstellt um die Ladezeiten zu verringern. Man kann diese unter Wartung auch löschen lassen wenn ich das richtig in Erinnerung habe. Das Problem wird sein (vermutlich) das beim erstellen auf den Pfad geachtet wird, wie das installiert wurde. Wenn man das als Subdomain installiert hat, dann wird / als Basis genommen. Wenn die Dateien noch nicht existieren und man geht über ein Subdir, dann kann das ggf. mit hinzugefügt werden. Wie gesagt, es ist eine Vermutung. Normalerweise geht man davon aus, das man im Betrieb bei einem Pfad bleibt.
Du könntest mittels htaccess eine rewrite Condition schreiben. Da müsste man dann Abfragen ob man per Subdomain oder Pfad kommt und dann /admin nach /foto/admin usw. umschreiben.
Was ich mittlerweile wieder rausgefunden habe ist, der fehlerhafte Code stammt aus diesem Block im HTML Code der Adminseite:
<!-- BEGIN get_combined --> <link rel="stylesheet" type="text/css" href="_data/combined/1hmibf1.css"> <script type="text/javascript" src="themes/default/js/jquery.min.js?v14.3.0"></script> <!-- END get_combined -->
die Datei hat unterschiedliche Namen. Entweder eine Zufallskombination oder "ccato2.css" je nach dem auf welcher Adminseite man sich befindet. Der Unterschied ist, dass die Zufallsdatei noch jQuery CSS Code lädt.
Der fehlerhafte Code ist (gekürzt):
/*BEGIN admin/themes/default/fontello/css/fontello.css */ @font-face{font-family:'fontello';src:url(/admin/themes/default/fontello/font/fontello.eot?36276550);src:... /*BEGIN admin/themes/default/theme.css */ ... (CSS Code) ... /*BEGIN admin/themes/default/theme.css */ ...(CSS9 .... /*BEGIN admin/themes/clear/css/components/general.css */
die url(/admin/themes/...) gibt es nicht, sie müsste bei mir heissen: url(/foto/admin/themes/..)
"Ich habe mich jetzt nicht mit den Details beschäftigt, aber warum werden die Resourcen aus unterschiedlichen Quellen geholt und warum wird bei den Fonts nicht der Pfad der Installation berücksichtigt?"
Genau das ist meine Frage.
Auch bei mir werden alle Resourcen aus den korrekten Verzeichnissen geladen, nur die Icon fonts nicht. In der CSS Datei, die das laden anstöst wird der Pfad der Installation nicht berücksichtigt.
Ich weiß nicht warum und habe alles durchsucht um das rauszufinden.
Nur ein kleiner Unterschied, zu deiner Beschreibung: ich rede tatsächlich nur von einem Unterverzeichniss. Meine Domain ist ein DynDNS Anbieter, d.h. ich habe nur Zugriff auf die Subdomain. Und der Piwigo CSS Font wird auch versucht von dieser Domain zu laden. Aber eben aus dem wurzelverzeichniss /admin das aber nicht existiert, bei mir ist es /foto/admin
Ich finde nicht den Ort, wo das konfiguriert ist und wie und ob ich das ändern kann. Ansonsten funktioniert eigentlich alles.
Hm, kann ich nicht nachvollziehen. Wenn ich meine Fotoseite übers Unterverzeichnis aufrufe (so wie Du), dann sehe ich in den eingebundenen Pfaden für die Fonts die richtigen Pfade, also so was: /xxx/admin/themes/... (der Aufruf sieht dann etwa so aus: https://meine.Domain/xxx/)
Wenn ich meine Fotoseite als Subdomain aufrufe (etwa so: https://subdomain.meine.Domain/), dann lauten die Pfade tatsächlich /admin/themes/..., was aber in beiden Fällen korrekt ist und alles Icons und sonstiges ist korrekt dargestellt.
Das Problem konnte trotz intensiver suche nicht lösen.
Im HTML Code der Seite werden die font Dateien im CSS Code von Piwigo hier geladen:
<!-- BEGIN get_combined --> <link rel="stylesheet" type="text/css" href="_data/combined/w9rz85.css">
Die Datei !w9rz85.css" enthält den Code um die Fonts zu laden (Auschnitt)
/*BEGIN admin/themes/default/fontello/css/fontello.css */ @font-face{font-family:'fontello';src:url(/admin/themes/default/fontello/font/fontello.eot?36276550);src:url(/admin/themes/default/fontello/font/fontello.eot?36276550#iefix) format('embedded-opentype'), url(/admin/themes/default/fontello/font/fontello.woff2?36276550) format('woff2'), url(/admin/themes/default/fontello/....
Das Problem ist der Pfad "admin/themes/..." es müsste heißen "foto/admin/themes/" also nicht wie in meinem ersten Posting der Name des Konfigurationspfad der Docker installation, sondern die der von Piwigo aber mit dem Unterpfad 'foto'.
Alles andere funktioniert auch der Link zur Startseite konnte ich in der Konfiguration über
$conf['gallery_url'] = "/foto/index.php?/categories";
anpassen. Jetzt fehlen nur noch die Symbole in der Amin Ansicht.
Hi,
ich habe Piwigo in einem "Unterverzeichnis" installiert. es hat auch alles soweit gfunktioniert und es wird auch eigentlch alles angezeigt, bis auf die Admin Symbole.
Das liegt daran das diese nicht aus dem Verzeichniss "{meinVerzeichniss}/_data/.." geladen werden, wie alle CSS und JS Dateien, sondern aus "/admin/themes". Aber das existiert auf dem Server dort nicht.
Ich habe mich jetzt nicht mit den Details beschäftigt, aber warum werden die Resourcen aus unterschiedlichen Quellen geholt und warum wird bei den Fonts nicht der Pfad der Installation berücksichtigt?
Kann man das irgendwie fixen?