htaccess

Hallo Leute,
Ich baue zur Zeit eine Webanwendung auf, bei der ich mittels .htaccess auf index.php weiterleite.
folgendes Steht in der .htaccess drinnen:

PHP:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l


RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

Das funktioniert grundsätzlich auch schon super, jedoch hab ich das problem, dass sowohl javascript dateien, css dateien und bilder ebenso verlinkt werden.
Weiß jemand von euch wie man bei htaccess ausnahmen hinzufügen kann?
Hab im Netz nicht wirklich was gefunden, was mir hilft.

Lg. Manitm
 
Du kannst einfach eine weitere RewriteCond definieren, mit der du bestimmte Dateitypen von der Weiterleitung ausschliesst:

Code:
RewriteCond %{REQUEST_FILENAME} !\.(css|js|jpg|png)$
 
Hallo,
Danke für deine Nachricht!

Leider hat das nicht funktioniert :/
Diese funktion hätte ich schon gefunden, hab aber eben nicht funktioniert..
lg.

P.s. falls das wichtig ist:
Die Dateien liegen in den verzeichnissen:

public/css
public/js
public/img


EDIT 20:35.
Habs geschafft.
Man muss folgende Regeln verwenden, um den gesamten Ordner von der Weiterleitung auszunehmen:

PHP:
RewriteRule ^public$ - [L]
RewriteRule ^public/.*$ - [L]
 
Zuletzt bearbeitet:
Auch immer daran denken, dass Rewrite-Regeln sequentiell abgearbeitet werden. Sobald eine Bedingung (RewriteCond) zutrifft, wird die RewriteRule angewendet. Matcht also zuvor eine andere Bedingung, sind die darauf folgenden nicht mehr relevant.
 
Ok danke!
Aber es wird doch sowiso pro Link der ganze .htaccess Befehl durchgeführt.
Also überprüft ob er z.B. in Public ist oder nicht.
Dann ist es ja egal ob er vorzeitig 'abbricht', oder?
 
Ja, in dem Fall ist es egal. Wenn man aber viele Rewrite-Regeln verwendet, kann es für die Server-Last durchaus relevant werden, wann die Abarbeitung unterbrochen/beendet wird. Häufig zutreffende Bedingungen sollten immer möglichst weit am Anfang stehen, sofern dies machbar ist. Schliesslich stellt jede Bedingung und Regel einen regulären Ausdruck dar, dessen Verarbeitung nicht unbeträchtlich Rechenleistung verbraucht.
 
Hey, ich hab gerade ein problem bei meiner bisherigen Lösung gefunden.
Und zwar:

Ich Leite ja die URL immer als GET an die Index weiter.
Dort trenne ich dann die Seiten durch die "/" und der erste Parameter ist dann meine Klasse, und der zweite meine Methode.

Beispiel: index/methode
Wenn ich nun eine Methode aufrufe, sucht htaccess im ordner "index" nach dem ordner "public" indem eben css, js, und img darin sind.
Die gibt es dor aber nicht, deswegen wird meine Seite ohne css und js angezeigt.

Kann ich die Ausnahme in htaccess auch auf absolute Pfade machen?

lg.
 
Zurück
Oben