# MediaService: Migration zurück zu "plain"

**URL:** <https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585>\
**Category:** Administration\
**Created:** [5. Januar 2017 um 13:53 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585 "2017-01-05T13:53:30Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [5. Januar 2017 um 13:53 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/1 "2017-01-05T13:53:30Z")

</div>

Ich wollte gerade in unserem Testshop mal den Weg zurück zu „plain“ durchspielen wie hier beschreiben:  
[MediaService](https://developers.shopware.com/developers-guide/shopware-5-media-service/#example:-migrating-back-to-the-simple-directory-structure)

Die config.php hab ich so ergänzt wie beschrieben.  
Da muss nichts anderes mehr eingetragen werden in dem Code, oder?

),

‚cdn‘ =\> [  
&nbsp;&nbsp;&nbsp; ‚adapters‘ =\> [  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚local‘ =\> [  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚type‘ =\> ‚local‘,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚mediaUrl‘ =\> ‚‘,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚strategy‘ =\> ‚plain‘,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚path‘ =\> realpath(\_\_DIR\_\_ . ‚/‘)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚old\_local‘ =\> [  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚type‘ =\> ‚local‘,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚mediaUrl‘ =\> ‚‘,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‚path‘ =\> realpath(\_\_DIR\_\_ . ‚/‘)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]  
&nbsp;&nbsp;&nbsp; ]  
]

);

Nach der Ausführung von&nbsp;

```
bin/console sw:media:migrate --from=old_local --to=local

```

erhalte ich eine Fehlermeldung:

PHP Notice:&nbsp; Undefined index: permissions in /…/engine/Shopware/Bundle/MediaBundle/Adapters/LocalAdapterFactory.php on line 40  
PHP Fatal error:&nbsp; Uncaught TypeError: Argument 4 passed to League\Flysystem\Adapter\Local::\_\_construct() must be of the type array, null given, called in /…/engine/Shopware/Bundle/MediaBundle/Adapters/LocalAdapterFactory.php on line 40 and defined in /…/vendor/league/flysystem/src/Adapter/Local.php:71  
Stack trace:  
#0 /…/engine/Shopware/Bundle/MediaBundle/Adapters/LocalAdapterFactory.php(40): League\Flysystem\Adapter\Local-\>\_\_construct(’/var/www/client…’, 2, 2, NULL)  
#1 /…/engine/Shopware/Bundle/MediaBundle/MediaServiceFactory.php(122): Shopware\Bundle\MediaBundle\Adapters\LocalAdapterFactory-\>create(Array)  
#2 /…/engine/Shopware/Bundle/MediaBundle/MediaServiceFactory.php(81): Shopware\Bundle\MediaBundle\MediaServiceFactory-\>getAdapter(Array)  
#3 /…/engine/Shopware/Bundle/MediaBundle/Commands/ImageMigrateCommand.php in /…/vendor/league/flysystem/src/Adapter/Local.php on line 71

Hab ich irgendwas übersehen, weshalb das nicht funktioniert?  
Shopversion 5.2.12

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [6. Januar 2017 um 13:39 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/2 "2017-01-06T13:39:54Z")

</div>

Hat niemand eine Idee, weshalb die Migration nicht startet und eine Fehlermdlung ausgibt?

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [6. Januar 2017 um 13:52 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/3 "2017-01-06T13:52:04Z")

</div>

Leider keine Idee, nur eine Frage: warum?

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [6. Januar 2017 um 14:03 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/4 "2017-01-06T14:03:18Z")

</div>

Was warum?

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [6. Januar 2017 um 14:05 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/5 "2017-01-06T14:05:16Z")

</div>

Warum?

> Migration zurück zu „plain“

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [6. Januar 2017 um 14:50 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/6 "2017-01-06T14:50:59Z")

</div>

Wir haben aufgrund der geringen Anzahl an Bildern keine Vorteile, die Bilder in „hundertausend“ verschiedenen Verzeichnissen zu haben, nur Nachteile durch die ständige Sucherei von Bildern.

---

<div class="post-metadata">

**Author:** ![NextMike](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@NextMike](https://forum.shopware.com/u/NextMike)\
**Post date:** [6. Januar 2017 um 15:00 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/7 "2017-01-06T15:00:10Z")

</div>

Alles klar, leider keine Idee was das Problem ist.

Mir fällt jedoch kein Grund ein warum man die Bilder im Filesystem überhaupt suchen und nicht die Verwaltung einfach dem MedienManager überlassen sollte.

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [19. Mai 2017 um 16:31 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/8 "2017-05-19T16:31:11Z")

</div>

Ich hab’s heute erneut versucht und es hat geklappt mit der Migration.  
Natürlich erst mal in unserem Testshop.

Frage:  
Funktioniert die Weiterleitung der Bilderpfade von vor der Migration (md5) zu den neuen Bilderpfaden (plain) dann genauso wie die Weiterleitung von plain zu md5?  
Ich hab’s getestet, bekomme aber ein 404-Seite und eine URL, die unser Unterverzeichnis doppelt in der URL hat [www.domain.de/xyz/xyz/](http://www.domain.de/xyz/xyz/)

---

<div class="post-metadata">

**Author:** ![hth](https://avatars.discourse-cdn.com/v4/letter/h/b77776/32.png) [@hth](https://forum.shopware.com/u/hth)\
**Post date:** [19. Mai 2017 um 16:45 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/9 "2017-05-19T16:45:01Z")

</div>

> [@simplybecause schrieb:](https://forum.shopware.com/profile/2553/simplybecause "simplybecause")
> 
> I
> 
> Frage:  
> Funktioniert die Weiterleitung der Bilderpfade von vor der Migration (md5) zu den neuen Bilderpfaden (plain) dann genauso wie die Weiterleitung von plain zu md5?  
> Ich hab’s getestet, bekomme aber ein 404-Seite und eine URL, die unser Unterverzeichnis doppelt in der URL hat [www.domain.de/xyz/xyz/](http://www.domain.de/xyz/xyz/)

Nein, das funktioniert nicht. Daher gibt es ja den 404-Error. Die Umleitungen musst Du selber erstellen und aufpassen keine Endlosredirect-Schleifen für Links zu produzieren , die sich noch im Google-Index befinden. Falls die Links im Google-Index egal sind, kann man die auch in einen 404-Error laufen lassen. Mit der Zeit entfernt Google diese dann selbst.

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [23. Mai 2017 um 13:34 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/10 "2017-05-23T13:34:00Z")

</div>

Hmm, das hatte ich befürchtet.  
Hat jemand eine Idee, wie ich am einfachsten an alle Bilder-URLs rankomme?

---

<div class="post-metadata">

**Author:** ![hth](https://avatars.discourse-cdn.com/v4/letter/h/b77776/32.png) [@hth](https://forum.shopware.com/u/hth)\
**Post date:** [23. Mai 2017 um 14:38 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/11 "2017-05-23T14:38:35Z")

</div>

> [@simplybecause schrieb:](https://forum.shopware.com/profile/2553/simplybecause "simplybecause")
> 
> Hmm, das hatte ich befürchtet.  
> Hat jemand eine Idee, wie ich am einfachsten an alle Bilder-URLs rankomme?

Artikelbilder etc. werden von Shopware behandelt. Redirects müssen für die Bilder in Kategorietexten, HTML-EK-Elementen etc. erstellt werden. Wenn für jedes Bild ein individueller Redirect erstellt werden soll, muss man die aus der DB selektieren oder die Seite per Skript crawlen.&nbsp;

Ich stelle&nbsp;die Weiterleitung&nbsp;allerdings für unsere Kunden mit Rewrite Rules sicher. Das kann ich auch nur empfehlen.

Viele Grüße

&nbsp;

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [23. Mai 2017 um 15:54 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/12 "2017-05-23T15:54:47Z")

</div>

Jepps, für jedes Bild soll ein idividueller Redirect erstellt werden.  
Danke für den Wink mit dem Crawler. 😉  
Hab hier noch ein Tool zum Crawlen des Shops und das gibt mir alle Bilder-URLs.  
Dabei ist mir aufgefallen, dass das Bild 3 und das Original nicht gecrawlt wird.  
Ist im Demoshop auch so.

Schade eigentlich.  
&nbsp;

---

<div class="post-metadata">

**Author:** ![Jan\_Bucker](https://avatars.discourse-cdn.com/v4/letter/j/db5fbb/32.png) [@Jan\_Bucker](https://forum.shopware.com/u/Jan_Bucker)\
**Post date:** [24. Mai 2017 um 07:52 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/13 "2017-05-24T07:52:34Z")

</div>

Die Config ist hier etwas unglücklich. Aus dem gelinkten Beispiel muss auch das Array mit den Permissions übernommen werden, da es sonst zu dem besagten Fehler kommt. Wir haben die Doku mittlerweile angepasst.

LG, Jan

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [24. Mai 2017 um 08:07 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/14 "2017-05-24T08:07:28Z")

</div>

Mit der aktuellen Version für die config.php hat es ja jetzt auch funktioniert. 🙂

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [7. Juni 2017 um 11:49 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/15 "2017-06-07T11:49:02Z")

</div>

Ich hab nun den Bilderpfad geändert und für so ziemlich alle Bilder ein Redirect gemacht.  
Bei fehlenden Redirects wird folgendes in core\_production-xxx.log eingetragen:

[Datum Uhrzeit] core.INFO: Legacy media url detected. {“requestedUrl”:"/media/image/51/1b/e4/datei.png",“redirectedTo”:“[domain.de/media/image/51/1b/e4/datei.png](http://domain.de/media/image/51/1b/e4/datei.png)”} {“uid”:“1736be2”}

Warum wird da eine Weiterleitung auf sich selbst gemacht und nicht ein Fehler 404 ausgeben?  
Stattdessen wird Fehler 301 mit der Browseranzeige ausgegeben:  
“Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.”

Hab ich eine Einstellung übersehen?  
Kann man die automatische Weiterleitung deaktivieren?

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [7. Juni 2017 um 12:48 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/16 "2017-06-07T12:48:48Z")

</div>

Du kannst die .htaccess im /media/-Ordner löschen, wenn du die Weiterleitung nicht möchtest.

---

<div class="post-metadata">

**Author:** ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)\
**Post date:** [7. Juni 2017 um 13:48 UTC](https://forum.shopware.com/t/mediaservice-migration-zuruck-zu-plain/42585/17 "2017-06-07T13:48:19Z")

</div>

Klingt simpel. 😉  
Hab mal TimmeHosting angeschrieben, was wir in den Einstellungen entfernen müssen.

&nbsp;
