我在Zend Framework中有一个搜索操作。
代码是:
function searchAction()
{
$keyword = $this->getRequest()->getParam('keyword');
if( !empty($keyword) )
{
//@todo here
}
}
我使用下面的网址向操作发布关键字:
/索引/搜索/关键字/的谷歌
使用:
在用户搜索值为“/”字符
的关键字之前,一切正常/索引/搜索/关键字/的 /
=> :getParam('keyword')为空
我尝试使用%2F(编码为“/”)
/索引/搜索/关键字/的%2F
=> :404错误
如何解决此问题?
答案 0 :(得分:2)
尝试简单使用:
$value = $this->_getParam('keyword');
答案 1 :(得分:1)
您可以尝试在bootstrap.php中添加路由
$router = $frontController->getRouter();
$router->addRoute(
'searchOncontrollername',
new Zend_Controller_Router_Route('/controllername/search/:keyword', array('controller' => 'controllername',
'action' => 'search'
)));
之后,您可以在控制器中使用变量关键字:
$keyword = $this->getRequest()->getParam("keyword");