问题陈述
我目前正在开发内部 RESTful API,并使用我们的主域名作为环境标识符。然而,我注意到 Slim 根本不喜欢其中有点的路线。
示例案例
我有一个使用 PHP 内置 Web 服务器运行的本地 Web 服务器,并且我调用了php -S 0.0.0.0:5000
让它运行。
一旦网络服务器启动,我就会在索引页面上显示一个简单的“hello world”。一切都运转良好,花花公子。
然后我设置了一条路线,如下所示:
$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 未找到 error.
到目前为止我尝试过的
网址重写
我在 Google 上查找了可用资源,还从 Slim 框架的 Github issues 中查找了可用资源。好像有人遇到过类似的问题:https://github.com/codeguy/Slim/issues/359 https://github.com/codeguy/Slim/issues/359
该票证中提出的解决方案是:URL重写修复。我尝试过但没有成功。我设置了一个.htaccess
在我的项目目录的根目录下,并打开AllowOverRide All
在我的 Mac 的 httpd.conf 文件中。
php -S 0.0.0.0:5000 索引.php
而不是跑步php -S 0.0.0.0:5000
我在index.php 上运行了该命令。此时,slim 框架不会抛出“未找到”错误,而是解析为我的基本路线,我将其设置如下:
$app->get('/', function() { echo "hello world"; });
谢谢
我已无计可施,任何帮助将不胜感激。非常感谢您的阅读!