Я хочу, чтобы каждый звонок с
http://localhost/api/
(как корневая папка ), например http://localhost/api/get/users
на самом деле http://localhost/api/index.php?handler=get/users
.
http://localhost/api/get/user/87
должно быть http://localhost/api/index.php?handler=get/user/87
, где в index.php Я бы поймал переменную $ _GET обработчик и обработал бы ее надлежащим образом.
Если у меня есть такие правила перезаписи, это работает только для одного
RewriteRule ^([^/\.]+)/?$ index.php?handler=$1 [QSA,L]
два
RewriteRule ^([^/\.]+)/?$ index.php?handler=$1 [QSA,L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?handler=$1&handler2=$2 [QSA,L]
три слеша и так далее ...
RewriteRule ^([^/\.]+)/?$ index.php?handler=$1 [QSA,L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?handler=$1&handler2=$2 [QSA,L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?handler=$1&handler2=$2&handler3=$3 [QSA,L]
Таким образом, для первого случая http://localhost/api/a
будет работать, но http://localhost/api/a/b
приведет к ошибке Not Found .
РЕДАКТИРОВАТЬ : Это должно быть хорошо?
RewriteRule ^(.*)$ index.php?handler=$1 [L,QSA]