Ich verwende eine Controller-Aktion in Yii2, um Bilder zu liefern (möglicherweise nach der Größenanpassung, falls erforderlich) und sie von Nicht-Site-Mitgliedern verborgen zu halten. Die Aktion lautet actionImage ($ id) im Site-Controller. Die Bilder werden in einem Basisverzeichnis namens images gespeichert, das sich möglicherweise außerhalb des DOCUMENT_ROOT befindet. Die Aktion benötigt einen Parameter, der den relativen Pfad zum Bild unter dem Ordner, z.B. Artikel/myimage.jpeg Ich habe folgende Konfiguration:Yii2 hübsche URL funktioniert auf Hosting aber nicht lokal
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
...
'site/image/<id:^(\w+/){1}(\w+/){0,9}\w+\.\w+$ >' => 'site/image',
...
,
],
Damit ich /site/image/articles/pasajes036.jpg erwarten, dass die Artikel/pasajes.jpg unter Bilder dienen.
Ich habe auch versucht <id:.+>
in der Regel, aber das Ergebnis ist das gleiche heißt:
- Es funktioniert gut, wenn sie von einem Remote-Server ausgeführt werden.
- Es funktioniert nicht, wenn sie vom yii embeded Server (php yii dienen) Response ist
Die angeforderte Ressource /site/image/articles/pasajes036.jpg ausgeführt wurde nicht auf diese gefunden Server. - Das Bild wird serviert richtig, wenn sie mit
http://localhost:8080/site/image?id=articles/pasajes036.jpg
- Andere ziemlich url Arbeit auf beiden Servern (lokal und remote) genannt
- Es funktioniert nicht lokal, auch wenn die Bilder-Ordner unter platziert DOCUMENT_ROOT
Vielen Dank für Ihre Hilfe.
Was sind Ihr Server und lokale Betriebssysteme und Webserver? –
Tatsächlich ist es nur der Punkt, der Probleme verursacht. – meaulnes
Ich teste es mit sehr einfachen Mustern wie \ w + \. \ W +. Es funktioniert nur auf dem Remote-Server. – meaulnes