Постановка задачи
В настоящее время я работаю над внутренним RESTful API и использую наше основное доменное имя в качестве идентификатора среды. Однако я заметил, что Слиму совсем не нравится, когда в маршруте есть точка.
Пример случая
У меня есть локальный веб-сервер, работающий с использованием встроенного веб-сервера PHP, и я вызвал php -S 0.0.0.0:5000
, чтобы запустить его.
Как только веб-сервер работает, у меня есть простое «привет, мир» на странице индекса. Все работает отлично и ладно.
Затем я настроил маршрут следующим образом:
$app->get('/:domain/:id', function($domain, $id)
{
echo $domain . ' ' . $id;
}
При этом я настроил маршрут для надеюсь разрешить 0.0.0.0:5000/apple.com/juicers
. Я пробовал с 0.0.0.0:5000/apple/juicers
, и на странице печатаются соковыжималки для яблок. Но с 0.0.0.0:5000/apple.com/juicers
я получаю ошибку 404 Not Found.
Что я пробовал до сих пор
URL переписать
Я искал доступные ресурсы в Google, а также в выпусках Slim framework Github. Кажется, кто-то столкнулся с похожей проблемой: https://github.com/codeguy/Slim/issues/ 359а>
Предлагаемое решение в этом тикете было следующим: исправление перезаписи URL. Я пробовал это, но безрезультатно. Я установил .htaccess
в корне каталога моего проекта и включил AllowOverRide All
в файле httpd.conf моего Mac.
php -S 0.0.0.0:5000 index.php
Вместо того, чтобы запускать php -S 0.0.0.0:5000
отдельно, я запустил команду на index.php. На данный момент, вместо того, чтобы выдавать ошибку Not Found, тонкий фреймворк разрешает мой базовый маршрут, который я настроил следующим образом:
$app->get('/', function() { echo "hello world"; });
Спасибо
Я в своем уме, и любая помощь будет высоко оценена. Большое спасибо за чтение!