2011-12-17 18 views
10

Więc ja obecnie mam cały mój adres URL przekierowanie do index.php z tym w moim .htaccess:Przepisz cały adres URL index.php z wyjątkiem „/ Serene/Aktywa /”

RewriteEngine on 
RewriteCond %{DOCUMENT_ROOT} !-f 
RewriteRule ^(.*)$ index.php [QSA,L] 

Jednak ja potrzebujesz adresów URL, takich jak http://localhost/Portfolio/Serene/Assets/css/style.css, aby nie przekierowywać, ale nie jestem pewien w jaki sposób?

bym naprawdę wdzięczni za każdą pomoc,

Cheers.

EDYCJA: Alternatywnie, mógłbym powiedzieć, że htaccess nie przekierowuje żadnych plików .js, .css, obrazów itp., Ale znowu, nie jestem zbyt pewny, jak to zrobić? Dzięki!

EDIT2: Mogę również przekierować wszystko, co kończy się na .php lub ścieżkę (taką jak/Portfolio /) do index.php, mam wrażenie, że może to być łatwiejsze.

Edit3: Sukces, kod końcowy:

RewriteEngine on 

RewriteCond %{DOCUMENT_ROOT} !-f 
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|flv|xml)$ index.php [QSA,L] 

Odpowiedz

9

Oto kolejny sposób na zrób to:

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

obrazy, plik robots.txt nie zostanie przepisany do pliku index.php. Po prostu dodaj swoje katalogi/pliki.

Nadzieję, że pomaga!

+2

Pozdrawiam! Ten kod persay nie pomógł, ale wszystko, co musiałem wiedzieć, to to, że '!' Oznacza przekierowanie wszystkiego poza następującymi. Oto kod końcowy dla wszystkich zainteresowanych:!. 'RewriteEngine on' ' RewriteCond% {DOCUMENT_ROOT} -f' RewriteRule '\ (js | ico | gif | jpg | png | css | html | swf | flv | xml) $ index.php [QSA, L] ' – chintanparikh

+0

Fajnie, cieszę się, że wskazał ci właściwy kierunek! – SeanNieuwoudt

5

To powoduje ponowne wnioski o dowolnych plików, które nie istnieją na serwerze do pliku index.php:

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

RewriteRule .* index.php [L] 
Powiązane problemy