2012-03-26 10 views
2

dies ist meine aktuelle .htaccess-Datei:Ausgabe mit .htaccess und mehr Rewrite-Regeln und Bedingungen

RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} -s [OR] 
    RewriteCond %{REQUEST_FILENAME} -l [OR] 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule ^.*$ - [NC,L] 
    RewriteRule ^.*$ index.php [NC,L] 

    RewriteCond %{REQUEST_URI} .*jpg$|.*gif$|.*png$|.*css$|.*js$ [NC] 
    RewriteRule (^.*) http://d14t2ycfqndlt4.cloudfront.net/$1 [R=301, 

die letzten 2 Zeilen nicht funktionieren, althouh wenn ich die erste cond oben entfernen, tut id Arbeit ...

Was ist das Problem? Vielen Dank!

+3

die Reihenfolge zu ändern! – undone

+0

@Death Ich stimme zu - einfach die letzten 2 Zeilen vor die anderen RewriteConds setzen und schon sollte es sein – mikevoermans

Antwort

2

So etwas sollte funktionieren:

RewriteEngine On 

RewriteCond %{REQUEST_URI} (.*)\.(jpg|gif|png|css|js)$ [NC] 
RewriteRule (.*) http://d14t2ycfqndlt4.cloudfront.net/$1 [R=301,...] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule (.*) - [NC,L] 

RewriteRule (.*) index.php [NC,L] 

Beachten Sie die regulären Ausdrücke ein bisschen leichter zu verstehen sind.

0

Das ist Ihre korrigiert und gereinigt .htaccess Code:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule \.(?:jpg|gif|png|css|js)$ http://d14t2ycfqndlt4.cloudfront.net%{REQUEST_URI} [R=301,L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [L]