2016-11-25 7 views
2

Я создаю успокоительный API и застрял в правилах перезаписи htaccess.htaccess переписать для restful api

В настоящее время я использую это:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !(.*)\.(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC] 
RewriteRule ^(.*)$ index.php?handler=$1 [QSA,L] 
</IfModule> 

Который работает, но я хочу, чтобы исключить каталоги файлов, расширения и текущее исключение не делает разницы.

E.g.

  • /апи/объект/1/список действителен
  • /api/object/test.php/js/css и т.д .. не действует

Спасибо.

ответ

1

Ваш RewriteCond содержит . перед всеми включенными расширениями.

Извлеките \. из вашего состояния и оно должно работать так.

RewriteCond %{REQUEST_URI} !(.*)(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]

Обратите внимание, что вы не сможете использовать включенные имена расширений в вашем методе/имя объекта или имя/метод объекта, заканчивающийся с этими именами расширений.

0

Также вы можете опустить, то ваше состояние будет (*.):

RewriteCond %{REQUEST_URI} !.(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC] 
Смежные вопросы