2011-12-17 3 views
10

Так что я в настоящее время есть все перенаправление моего URL-адреса в index.php с этим в моей .htaccess:Перепишите все URL в index.php, кроме как от «/ Серин/Активы /»

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

Однако я нужны URL-адреса, такие как http://localhost/Portfolio/Serene/Assets/css/style.css, чтобы не перенаправлять, но я не уверен, как это сделать?

Я бы очень признателен за любую помощь,

Приветствия.

EDIT: В качестве альтернативы, я могу сказать, что htaccess не перенаправляет файлы .js, .css, изображений и т. Д., Но опять же, я не слишком уверен, как это сделать? Спасибо!

EDIT2: Я мог бы также перенаправить что-либо, заканчивающееся на .php или путь (например,/Portfolio /) на index.php, у меня такое чувство, что это может быть проще.

EDIT3: Успех, окончательный код:

RewriteEngine on 

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

ответ

9

Вот еще один способ сделать это:

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

изображения, robots.txt не будет переписан в index.php. Просто добавьте свои каталоги/файлы.

Надеюсь, что это поможет!

+2

Приветствия! Этот код не помог, но все, что мне нужно было знать, это то, что '!' Означает перенаправление всего, кроме следующего. Вот окончательный код для всех, кто интересуется:!. 'RewriteEngine on' ' RewriteCond% {DOCUMENT_ROOT} -f' 'RewriteRule \ (JS | ICO | GIF | JPG | PNG | CSS | HTML | швейцарских франков | flv | xml) $ index.php [QSA, L] ' – chintanparikh

+0

круто, я рад, что он указал вам в правильном направлении! – SeanNieuwoudt

5

будет переписан запросы на любые файлы, которые не существуют на сервере index.php:

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

RewriteRule .* index.php [L] 
Смежные вопросы