如何解决用户浏览index.php时的情况

Ita*_*vka 3 php zend-framework zend-framework-mvc

在Zend框架中,使用MVC,如果A用户明确地浏览到http://base/url/index.php而不仅仅是http:// base/url,系统认为真正的基本URL是http:// base/url/index.php /并根据它计算系统中的所有URL.

所以,如果我有一个控制器XXX和动作YYY该链接将是
http://base/url/index.php/XXX/YYY,这当然是错误的.

我目前通过在index.php添加一行来解决这个问题:

$_SERVER["REQUEST_URI"]=str_replace('index.php','',$_SERVER["REQUEST_URI"]);
Run Code Online (Sandbox Code Playgroud)

我想知道ZF中是否有内置方法来解决这个问题.

kar*_*m79 5

你可以使用Zend_Controller_Router_Route_Static(phew!)来实现ZF ,例如:

阅读上面链接的手册页,有一些很好的例子可以找到.

$route = new Zend_Controller_Router_Route_Static(
    'index.php',
    array('controller' => 'index', 'action' => 'index')
);
$router->addRoute('index', $route);
Run Code Online (Sandbox Code Playgroud)

不能说我完全不同意你的做法.也就是说,其他人可能会指出5000左右的缺点.祝你好运.