Как почти каждый программист, я пишу свою собственную фреймворк PHP для образовательных целей. И теперь я рассматриваю проблему с разбором URL-адресов для маршрутизации MVC.Безопасная маршрутизация в моей собственной структуре с использованием PHP - как
Рамки будут использовать дружественные URL-адреса повсюду. Но вопрос заключается в том, как разбирать их на переднем контроллере. Например, ссылка /foo/bar/aaa/bbb
может означать «Вызвать панель действий foo контроллера и передать параметр aaa со значением bbb. Но если кто-то установит фреймворк в подкаталог корня домена, часть каталога должна быть удалена до определения имени контроллера и имени действия . И я ищу способ сделать это безопасно.
Кроме того, я хотел бы поддержать резервный случай, если URL переписывания не поддерживается на сервере.
в разных системах разные наборы $ _SERVER переменных например, на моей локальной машине из набора PATH_INFO, REQUEST_URI, REQUEST_URL, ORIG_REQUEST_URI, SCRIPT_NAME, PHP_SELF только REQUEST_URI, SCRIPT_NAME и PHP_SELF. Интересно, могу ли я на них положиться.
Зрелые фреймворки, такие как Symfony или ZF, имеют некоторые сложные алгоритмы анализа URL-адресов (по крайней мере, это было так). Поэтому я не могу просто принять участие оттуда для себя.
Какой конфиг mod_rewrite вы используете? –
Извините за задержанный ответ. Проверьте мой отредактированный ответ :) – tftd