2010-08-19 115 views
1

如何將查詢字符串追加到url?當然,我可以做一個(從控制器動作)Zend Framework:將查詢字符串追加到當前頁面url

$currUrl = $this->getRequest()->getRequestUri(); 
$newUrl = $currUrl . '/something/else'; 

如果requestUri看起來像/users多數民衆贊成罰款。但是如果url看起來像/users?page=1呢?那麼我將最終得到類似/users?page=1/something/else這是錯誤的

回答

3

這不是一個可靠的方法來添加參數到當前的請求URI。例如說你正在使用默認的模塊路由,你的當前URI是例如。 /news。如果你想添加參數到最後,你應該首先追加動作名稱,因此有:/news/index/something/else。你可以看到手工操作會變得非常繁瑣。 Zend Framework爲您提供了輕鬆完成此操作的方法。如果你想保留查詢字符串與新的URI,之後做

$router = Zend_Controller_Front::getInstance()->getRouter(); 
$url = $router->assemble(array('something' => 'somethingelse')); 

if (!empty($_SERVER['QUERY_STRING'])) 
    $url .= '?'.$_SERVER['QUERY_STRING']; 
在你的控制器,你可以這樣做基於目前的一個生成URI
相關問題