# htaccess RewriteRule nur für Frontend?

**URL:** https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408
**Category:** Programmierung
**Created:** [20. November 2015 um 14:41 UTC](https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408 "2015-11-20T14:41:10Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)
#### Post date: [20. November 2015 um 14:41 UTC](https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408/1 "2015-11-20T14:41:10Z")

</div>

Hallo zusammen, wir stehen kurz vor einem Systemwechsel von XTC zu Shopware 5. Nun möchten wir die alten URL’s als 301 weiterleiten. Da es sich um ca 600 Produkte in jeweils 5 Sprachen handelt, soll die Weiterleitung per regex erfolgen. Eine alte Produkt URL sieht so aus: `http://www.domain.de/products/de/Kategorie/Produkt.html ` Die neue Shopware URL so: `http://www.domain.de/de/kategorie/produkt ` Das .html haben wir in der .htaccess so entfernt `RewriteRule ^(.\*)\.html$ /$1 [L]` Das products so: `RewriteRule ^products/(.+?)(-[0-9]+)?$ /$1 [L,R=301]` Jetzt bleibt nur noch die Umwandlung der Großbuchstaben in Kleinbuchstaben übrig. Dazu habe ich im Netz folgendes gefunden, was auch funktioniert: `RewriteRule ![A-Z] - [S=26] RewriteRule (.\*)A(.\*) $1a$2 [N,DPI,E=lc:yes] RewriteRule (.\*)B(.\*) $1b$2 [N,DPI,E=lc:yes] RewriteRule (.\*)C(.\*) $1c$2 [N,DPI,E=lc:yes] RewriteRule (.\*)D(.\*) $1d$2 [N,DPI,E=lc:yes] RewriteRule (.\*)E(.\*) $1e$2 [N,DPI,E=lc:yes] RewriteRule (.\*)F(.\*) $1f$2 [N,DPI,E=lc:yes] RewriteRule (.\*)G(.\*) $1g$2 [N,DPI,E=lc:yes] RewriteRule (.\*)H(.\*) $1h$2 [N,DPI,E=lc:yes] RewriteRule (.\*)I(.\*) $1i$2 [N,DPI,E=lc:yes] RewriteRule (.\*)J(.\*) $1j$2 [N,DPI,E=lc:yes] RewriteRule (.\*)K(.\*) $1k$2 [N,DPI,E=lc:yes] RewriteRule (.\*)L(.\*) $1l$2 [N,DPI,E=lc:yes] RewriteRule (.\*)M(.\*) $1m$2 [N,DPI,E=lc:yes] RewriteRule (.\*)N(.\*) $1n$2 [N,DPI,E=lc:yes] RewriteRule (.\*)O(.\*) $1o$2 [N,DPI,E=lc:yes] RewriteRule (.\*)P(.\*) $1p$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Q(.\*) $1q$2 [N,DPI,E=lc:yes] RewriteRule (.\*)R(.\*) $1r$2 [N,DPI,E=lc:yes] RewriteRule (.\*)S(.\*) $1s$2 [N,DPI,E=lc:yes] RewriteRule (.\*)T(.\*) $1t$2 [N,DPI,E=lc:yes] RewriteRule (.\*)U(.\*) $1u$2 [N,DPI,E=lc:yes] RewriteRule (.\*)V(.\*) $1v$2 [N,DPI,E=lc:yes] RewriteRule (.\*)W(.\*) $1w$2 [N,DPI,E=lc:yes] RewriteRule (.\*)X(.\*) $1x$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Y(.\*) $1y$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Z(.\*) $1z$2 [N,DPI,E=lc:yes] RewriteCond %{ENV:lc} ^yes$ RewriteRule (.\*) /$1 [L]` Allerdings gibt jetzt das Backend nur eine weiße Seite aus. Entfernen wir den Teil, der die Großbuchstaben umwandelt ist das Backend erreichbar. Gibt es eine Möglichkeit diesen Teil des Rewrites nur auf das Frontend zu beschränken? Alle Regeln zusammen sind so in der .htaccess eingetragen: `RewriteEngine on RewriteBase / RewriteRule ![A-Z] - [S=26] RewriteRule (.\*)A(.\*) $1a$2 [N,DPI,E=lc:yes] RewriteRule (.\*)B(.\*) $1b$2 [N,DPI,E=lc:yes] RewriteRule (.\*)C(.\*) $1c$2 [N,DPI,E=lc:yes] RewriteRule (.\*)D(.\*) $1d$2 [N,DPI,E=lc:yes] RewriteRule (.\*)E(.\*) $1e$2 [N,DPI,E=lc:yes] RewriteRule (.\*)F(.\*) $1f$2 [N,DPI,E=lc:yes] RewriteRule (.\*)G(.\*) $1g$2 [N,DPI,E=lc:yes] RewriteRule (.\*)H(.\*) $1h$2 [N,DPI,E=lc:yes] RewriteRule (.\*)I(.\*) $1i$2 [N,DPI,E=lc:yes] RewriteRule (.\*)J(.\*) $1j$2 [N,DPI,E=lc:yes] RewriteRule (.\*)K(.\*) $1k$2 [N,DPI,E=lc:yes] RewriteRule (.\*)L(.\*) $1l$2 [N,DPI,E=lc:yes] RewriteRule (.\*)M(.\*) $1m$2 [N,DPI,E=lc:yes] RewriteRule (.\*)N(.\*) $1n$2 [N,DPI,E=lc:yes] RewriteRule (.\*)O(.\*) $1o$2 [N,DPI,E=lc:yes] RewriteRule (.\*)P(.\*) $1p$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Q(.\*) $1q$2 [N,DPI,E=lc:yes] RewriteRule (.\*)R(.\*) $1r$2 [N,DPI,E=lc:yes] RewriteRule (.\*)S(.\*) $1s$2 [N,DPI,E=lc:yes] RewriteRule (.\*)T(.\*) $1t$2 [N,DPI,E=lc:yes] RewriteRule (.\*)U(.\*) $1u$2 [N,DPI,E=lc:yes] RewriteRule (.\*)V(.\*) $1v$2 [N,DPI,E=lc:yes] RewriteRule (.\*)W(.\*) $1w$2 [N,DPI,E=lc:yes] RewriteRule (.\*)X(.\*) $1x$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Y(.\*) $1y$2 [N,DPI,E=lc:yes] RewriteRule (.\*)Z(.\*) $1z$2 [N,DPI,E=lc:yes] RewriteCond %{ENV:lc} ^yes$ RewriteRule (.\*) /$1 [L] RewriteRule ^(.\*)\.html$ /$1 [L] RewriteRule ^products/(.+?)(-[0-9]+)?$ /$1 [L,R=301] # Https config for the backend #RewriteCond %{HTTPS} !=on #RewriteRule backend/(.\*) https://%{HTTP\_HOST}%{REQUEST\_URI} [L,R=301] RewriteRule shopware.dll shopware.php RewriteRule files/documents/.\* engine [NC,L] RewriteRule backend/media/(.\*) media/$1 [NC,L] RewriteCond %{REQUEST\_URI} !(\/(engine|files|templates)\/) RewriteCond %{REQUEST\_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/) RewriteCond %{REQUEST\_FILENAME} !-f RewriteCond %{REQUEST\_FILENAME} !-d RewriteRule ^(.\*)$ shopware.php [PT,L,QSA]` Gruß und schönes WE

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [20. November 2015 um 16:59 UTC](https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408/2 "2015-11-20T16:59:10Z")

</div>

Müsste dazu nicht einfach die Backend Rewrite Rule VOR die Einträge mit den Buchstaben?

---

<div class="post-metadata">

### Author: ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)
#### Post date: [23. November 2015 um 09:36 UTC](https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408/3 "2015-11-23T09:36:18Z")

</div>

Ich habe diesen Teil `RewriteRule shopware.dll shopware.php RewriteRule files/documents/.\* engine [NC,L] RewriteRule backend/media/(.\*) media/$1 [NC,L] RewriteCond %{REQUEST\_URI} !(\/(engine|files|templates)\/) RewriteCond %{REQUEST\_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/) RewriteCond %{REQUEST\_FILENAME} !-f RewriteCond %{REQUEST\_FILENAME} !-d RewriteRule ^(.\*)$ shopware.php [PT,L,QSA]` mal ganz an den Anfang gestellt. Das hatte aber nur den Effekt, dass das Backend trotzdem nicht funktioniert hat und die Frontendweiterleitungen ebenfalls nicht. Ich denke, die Umwandlung von Groß- in Kleinbuchstaben darf beim Backendaufruf nicht greifen, da dort halt einige Aufrufe mit “…/Shopware/…” sind.

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [24. November 2015 um 12:06 UTC](https://forum.shopware.com/t/htaccess-rewriterule-nur-fur-frontend/32408/4 "2015-11-24T12:06:55Z")

</div>

Du könntest probieren eine Condition vor jede der Groß/Klein Rewrites zu stellen `RewriteCond %{REQUEST\_URI} !(\/(backend)\/)`
