Я не могу понять, как Zend Framework контролирует маршруты. Я на самом деле пытаюсь создать свой собственный класс контроллера / маршрута, написал тот же код, что и Zend, reccomends для .htaccess, чтобы переписать на index.php, расположенный в корне сайта:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Линия, которую я не понимаю, является последней. У него нет групп захвата и переменных. В index.php я ничего не могу поймать в $ _GET, который пуст. Единственный способ, которым это будет работать, это:
RewriteRule ^(.*)$ index.php?uri=$1 [NC,L]
а затем разобрать $ _GET ['uri'], который для меня был бы в форме «controller / action / param1 / param1value».
Но было бы неплохо обойти это и не использовать переменную «uri». В проекте Zend это работает. Может ли кто-нибудь объяснить мне, как Zend анализирует URL с таким переписанием?