【发布时间】:2013-05-31 10:02:00
【问题描述】:
假设以下幼稚代码:
$app->get( '(/store(/:url)+)', function( $url = NULL ) use ( $app )
{
// Execute actions on $url
});
以上适用于以下情况:
http://localhost/api/0001/store/url-data
但它失败了:
http://localhost/api/0001/store/http%3A%2F%2Fexample.com%2FSomething
http://localhost/api/0001/store/http://example.com/Something
// and other variations
我希望传递一个完整编码的 URI 以在服务器端进行处理。我怎样才能用 Slim 做到这一点?
注意事项:
其他类型的 HTTP 请求(POST、PUT)不适用于这个给定的问题。
在另一端可以通过重新格式化(序列化)URI 来解决,但我希望这是我最后的手段。
重要编辑 - 答案
事实证明,以上是框架中的一个错误,目前正在测试中,希望尽快修复和发布。我通过在 URI 到达服务器端之前对其进行序列化暂时解决了这个问题。
【问题讨论】:
-
您可以回答自己的问题并接受自己的回答^_^
-
将 url 作为 restful url 的段传递并不是最好的解决方案...我建议您改用 get 参数。
标签: php routing url-routing slim