# htaccess mod_rewrite - Problem mit Bildern nach url Änderung



## guenter024 (4. November 2009)

.htaccess


```
RewriteEngine on
RewriteRule ^(.*)/$ index.php?x=$1
RewriteRule ^(.*)/(.*)/$ index.php?x=$1&y=$2
```

Leider werden nun die Bilder und stylesheets nicht mehr gefunden.
Die Seite auf die verlinkt wurde hilft mir nicht, hab das probiert aber irgendwie kapier ich es nicht. Da ich mich nicht nochmal in einem Forum anmelden möchte und ich schon immer hier war bitte ich nochmal um Eure Hilfe.

Ich möchte nicht alle Bilderlinks usw. ändern. Kann ich das Problem irgendwie in der .htaccess-Datei lösen?

Nochmal danke im Voraus für Eure Hilfe.

LG
Günter


EDIT:
Komischerweise findet das obige Beispiel die Bilder/CSS usw-, wenn ich anstelle eines / den Verweis in .html ändere.
Warum ist das so?
Irgendwie wird für mich das ganze immer unergründlicher.
Leider findet man auch nirgendwo ein verfünftiges Tutorial, auch nicht auf modrewrite.de

Vielleicht findet sich ja noch jemand, der Ahnung hat.


Nochmal EDIT:
Ich gebe langsam auf.
Habe jetzt mal probiert, die Bilderpfade absolut zu reverenzieren, aber auch dass will die Bilder nicht mehr herholen.
Auf mod_rewrite.de wollte ich mich eben anmelden, leider klappte dies auch nicht.
Ich weis zwar nicht wieso, aber meine E-Mailadresse ist dort gesperrt, obwohl ich noch nie dort angemeldet war.

Off Topic: 
Warum wurde dass Thema eigentlich hierher verschoben?
Ich denke es hat auf jeden Fall auch eine Menge mit PHP zu tun, da man diese Regel ja vor allem für PHP-Seiten verwendet...


----------



## guenter024 (4. November 2009)

Weil ich nicht alle Bilderverweise etc. umschreiben will würde ich es jetzt so lösen:


```
Options +FollowSymLinks
RewriteEngine on

RewriteRule ^(.*)-(.*)\.html$ index.php?path=$1&link=$2 [L]
RewriteRule ^(.*)\.html$ index.php?path=$1 [L]

RewriteRule ^(.*)-(.*)\.html$ index.php?paths1=$1&link=$2 [L]
RewriteRule ^(.*)\.html$ index.php?paths1=$1 [L]

RewriteRule ^(.*)\.html$ index.php?paths2=$1 [L]
RewriteRule ^(.*)\.html$ index.php?paths3=$1 [L]
RewriteRule ^(.*)\.html$ index.php?paths4=$1 [L]
RewriteRule ^(.*)\.html$ index.php?paths5=$1 [L]
```

Die Links würden dann z.B. so aussehen:

http://einexbeliebigehomepage.de/kategorie1-seite_a.html
http://einexbeliebigehomepage.de/kategorie1-seite_b.html
http://einexbeliebigehomepage.de/seite_c.html
usw.

Auf andere Weise bekomme ich es einfach nicht hin.
Meint Ihr dass ist in Anbetracht der SEO so ok?

Ciao Günter

PS:
Mich würde trozdem noch interessieren, ob es eine einfache Lösung gäbe, die integration der Bilder/css usw. in die Pfadstruktur einzubinden, ohne jeden Bilderlink extra zu ändern.


----------



## Gumbo (4. November 2009)

Dieses Problem hat nur indirekt etwas mit mod_rewrite zu tun sondern vielmehr damit wie relative URLs (und dazu gehören auch relative URL-Pfade) aufgelöst werden. Und zwar werden sie von einer Basis-URL aus aufgelöst, die in diesem Falle die URL des aktuellen Dokuments ist. Absolute URL-Pfade sind dabei von dem URL-Pfad der Basis-URL unabhängig.

Dazu kommt noch, dass die Suchmuster deiner Regeln alles schlucken – auch die URL-Pfade deiner Bilder. Der Wechsel zu einem .html am Ende ist da schon ein wesentliches Merkmal zur Unterscheidung zwischen HTML-URLs und Nicht-HTML-URLs.


----------

