如何嵌套 Silex 应用程序?
我正在为我的客户设置一个项目演示,以便他们能够访问mydomain.net/project/demo
并实时查看他们的网站。
我的目录结构:
www
mydomain.net
projects
client_project
app
web
index.php <-client project front controller
another_client_project
app
web
index.php <-another client project front controller
src
vendor
web <-apache docroot
index.php <-front controller for my site
所以我的想法是我应该能够在我的前端控制器上创建一个路由,它将用户代理引用到嵌套的、客户端项目特定的前端控制器之一。网址可能如下所示:http://mydomain.net/projects/client_project/
Silex 有一个方便的工具来发出他们所谓的子请求,如下所示:
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\HttpKernelInterface;
$app->get('/', function () use ($app) {
// redirect to /hello
$subRequest = Request::create('/hello', 'GET');
return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
});
所以...这就是我搁浅的地方。我可以只制作一个引用给定嵌套前端控制器的请求吗?这需要一些 mod_rewrite 操作吗?