перезапись htaccess для restful api
Я создаю API на основе restful и застрял на правилах перезаписи htaccess.
В настоящее время я использую это:
<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>
Который работает, однако я хочу, чтобы он исключал каталоги расширений файлов, и текущее исключение не имеет значения.
Например,
- /api/объект/1/список действителен
- /api/объект/тест.php/js/css и т. Д. Недопустимо
Спасибо.
2
Author: Egor Smolyakov, 2016-11-25
2 answers
Ваш RewriteCond
включает .
перед всеми включенными расширениями.
Удалите \.
из вашего условия, и оно должно работать так.
RewriteCond %{REQUEST_URI} !(.*)(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]
Обратите внимание, что вы не сможете использовать включенные имена расширений в своем имени метода/объекта или имени метода/объекта, заканчивающемся этими именами расширений.
1
Author: josephting, 2016-11-25 01:20:15
Также вы можете опустить (.*), тогда ваше условие будет:
RewriteCond %{REQUEST_URI} !.(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]
0
Author: Sr. Libre, 2016-11-25 02:13:44