Ich muss Bilder, die in mehreren Modulen üblich sind, an den Ordner resources
außerhalb des öffentlichen Ordners senden. Ich benutze Slim Framework.
Zur Zeit habe ich eine Subdomain static.pro1.local / erstellt, um lokale Bilder zu liefern. Aber jetzt bin ich auf der Suche nach einem anderen Weg.
Bei Slim versuche ich einen Weg zu finden, dynamisch Bilder zu erstellen und zu liefern wie gewünscht
%Vor% Ich beabsichtige, es als <img src="/assets/200/400/test/png" />
zu verwenden, aber ich bekomme immer 404 Fehler.
Ich habe es bereits versucht
und ein paar andere. Ich fand auch Ссылка , aber ich muss SVG Conversions und einige andere Sachen verwenden, die es nicht hat.
>Ich schätze, Sie sind auf dem richtigen Weg, aber Sie verpassen einige Punkte. Ich habe eine neue Installation von Slim ("slim / slim": "^ 2.6") gemacht. Dies ist meine Verzeichnisstruktur.
%Vor% Das ist meine Slim-Anwendungsdatei index.php. Übrigens, ich habe keine Zeit damit verbracht, das Bild zu verkleinern, das überlasse ich dir.
Die Anwendung enthält die assets
route und test-image
route.
Der Trick ist das Entfernen der index.php von der URL mit Hilfe von .htaccess Es gibt einen Abschnitt zum URL-Umschreiben in den Dokumenten. Ссылка -Die Dokumente enthalten auch nginx-Anweisungen .-
Der Inhalt der .htacess-Datei ist;
%Vor% Sie müssen auch den Abschnitt AllowOverride
zu Ihrer virtuellen Host-Datei hinzufügen, um die Anweisungen in Ihrer .htacess-Datei verwenden zu können. Dieser geht zu virtualhost.conf
Vergessen Sie nicht, Apache neu zu starten oder neu zu laden.
Dann blättern Sie zu http://<virtualhost>/test-image
, es sollte gut gehen.
Nach Ihren Kommentaren habe ich eine Docker-Instanz eingerichtet, auf der nginx installiert ist.
Dies ist meine virtuelle Host-Konfigurationsdatei.
%Vor% Und den PHP-Code ein wenig geändert, um die korrekte URL für die Bilderzeugungsroute zu verwenden. Ich habe die Route benannt und die Methode urlFor
verwendet, um die korrekte URL zu ermitteln, die vom Framework selbst generiert wurde.
Wenn ich zu http://localhost/test-image
url blicke, sieht alles auf meiner Seite perfekt aus.