我在我的网络应用中使用symfony2的路由组件。 在我的index.php中,我处理路由:
// Handle routing
$request = Request::createFromGlobals();
$loader = new YamlFileLoader(new FileLocator(array(__DIR__ . '/../app/config')));
$collection = $loader->load('routing.yml');
$context = new RequestContext();
$context->fromRequest($request);
$matcher = new UrlMatcher($collection, $context);
$resolver = new ControllerResolver();
$request->attributes->add($matcher->match($request->getPathInfo()));
$controllerArray = $resolver->getController($request);
$controller = $controllerArray [0];
$methodArgs = $resolver->getArguments($request, $controllerArray );
我没有触及htaccess文件(我没有,对吧?)。
我的路线如下:
index:
path: /
defaults: { _controller: "MyProject\\Module\\Login\\Controller\\LoginController::indexAction" }
index_login:
path: /login
defaults: { _controller: "MyProject\\Module\\Login\\Controller\\LoginController::loginAction" }
我的虚拟主机的网址是“myproject.dev”。如果我输入myproject.dev,则会执行indexAction。但如果我附加类型/登录,则比浏览器说错误404(找不到对象)。 我调试了,输入“myproject.dev/login”时不会调用index.php ... 我想我必须触摸htaccess?
感谢。
修改
嗯,我想我明白了。我必须在网址中写下文件名:myproject.dev/**index.php**/login
这将解释它。现在我必须查找,如何从url中删除index.php。