2013-12-20 55 views
0

我正在使用Yii Framework。URL params中的「returnUrl」錯誤

在控制器中,保存模型後,我試圖將用戶重定向到/module/controller/action並將參數(redirectUrl)設置爲另一個URL。這裏是我的代碼:

$this->redirect(array('/module/controller/action/', 'redirectUrl'=>'/index.php/some/url/id/'.$id)); 

這似乎很好地工作,因爲我重定向到:

http://localhost/index.php/module/controller/action/redirectUrl/%2Findex.php%2Fsome%2Furl%2Fid%2F11 

可是當我到達那裏,我得到了以下錯誤:

Not Found 

The requested URL 
/index.php/module/controller/action/redirectUrl//index.php/some/url/id/11 was not found on this server. 

的網址像/index.php/module/controller/action/redirectUrl/1234工作正常。

我不明白我在這裏做錯了什麼,URL似乎是正確的編碼。任何想法都會有很大的幫助!

由於

+0

看來雙斜槓是一個問題,也許嘗試刪除重定向URL的第一個正斜槓。 –

回答

2

你例如URL只有在通過1234作爲參數,而不是一個完整的相對URL,例如/index.php/some/url/id/1234。我想你想要的是:

$this->redirect(array('/module/controller/action/', 'redirectUrl'=>$id)); 

你可以跳過你的服務器上的URL規則和最低限度地減少負荷:

$this->redirect('/module/controller/action/redirectUrl/' . $id);