Bilder/JS Skripte von RewriteRule ausschließen

URLs umschreiben, umleiten, blocken oder sperren - all das und noch viel mehr kann mit mod_rewrite erreicht werden. Mit regulären Ausdrücken, Conditions und Rules stehst Du auf Kriegsfuss? mod_rewrite macht nicht das was Du willst, oder funktioniert gar nicht? hier bist Du richtig!

Moderatoren: Bob, Super-Mod

Bilder/JS Skripte von RewriteRule ausschließen

Beitragvon tomtherock » 20.09.2011 13:07

Hallo in die Runde,

ich habe bereits einige Lösungen/Ansätze gefunden wie man Mithilfe von RewriteCond
bestimmte Voraussetzungen an eine nachfolgende Regel bestimmt, leider scheint das bei mir nicht zu funktionieren.

Was will ich machen:
Ich baue meine dynamischen Siteurls auf Statische für SEO optimiert um. Leider habe ich meine Skript/Bildverlinkungen
nicht alle mit "/" davor damals sinnvoll eingebaut. Dadurch wird z.b. aus der

dynamischen URL: http://www.domain.de/?path=Baufahrzeuge ... kel=123456
eine
statische URL: http://www.domain.de/Baufahrzeuge/Schau ... 123456.php

so weit so gut leider stimmen durch den Unterordner einige Bilder/Script Verlinkungen nicht mehr da das Verzeichnis zum root so halt nicht
mehr gegeben ist...

Nun hab ich mich in einigen Beiträge schlau gemacht wie man so etwas verhindern kann und folgende 2 Möglichkeiten gefunden:
1. RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
(sprich wenn File/Ordner nicht existiert Regel die darauf folgt nicht ausführen)
oder
2. RewriteCond %{REQUEST_FILENAME} !\.(gif|png|jpe?g|css|js)$
(folgende Dateitypen einfach von der Regel die darauf folgt ausschließen)

Beides auch mit %{REQUEST_URI} probiert leider kein Erfolg.

Hier mein ModRewrite:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(gif|png|jpe?g|css|js)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*),aid([^/]*)\.php$ /?path=$1page_titel=$2&id_artikel=$3 [L]

Leider werden ein paar Bilder nicht verlinkt welche es aber 100% in der normalen Verlinkung & auf dem Webspace so auch existieren
alt: http://www.domain.de/images/logo.png
nach rewrite: http://www.domain.de/Baufahrzeuge/images/logo.png

Könnt ihr mir da weiterhelfen oder ist mein Ansatz komplett falsch?
Vielen Dank im Voraus
Grüße
Tom
tomtherock
.
.
 
Beiträge: 4
Registriert: 09.10.2009 11:40

Re: Bilder/JS Skripte von RewriteRule ausschließen

Beitragvon tomtherock » 20.09.2011 13:32

Also ich hab jetzt zwar selbst eine Lösung gefunden allerdings nicht direkt für mod_rewrite (würde mich weiterhin interessieren, denke ist auch sicherer als meine Lösung)

mit folgendem hinweiss : "<base href="http://www.domain.de">" im Kopfbereich(<head>) wird dem
Browser bei Fehlverweisen der richtige ROOT mitgeteilt, schön erklärt hier:

http://de.selfhtml.org/html/kopfdaten/basis.htm

Funktioniert super dadurch werden meine unsauberen IMAGE/Script Verlinkungen trotzdem richtig interpretiert:
<img src="images/logo.png">
besser wäre gleich so gewesen
<img src="/images/logo.png">

oder mit ReWrite ausschließen das wenn er so nicht finden kann die Regel halt auch nicht anwendet(funktioniert mit meinem ModRewrite leider nicht :( )
<img src="http://www.domain.de/unterordnerXYZ/images/logo.png"> findet nicht also regel nicht ausführen dadurch bleibt
<img src="http://www.domain.de/images/logo.png">

Hoffe ihr könnt mir trotzdem noch mitteilen was ich falsch gemacht hab bei meinem RewriteCond denke hilft auch anderen weiter evtl.

Grüße
Tom
tomtherock
.
.
 
Beiträge: 4
Registriert: 09.10.2009 11:40


Zurück zu mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron