2011-07-06 41 views
0

我假設我在這裏做一些明顯錯誤,但我不知道什麼。我的代碼是非常簡單的:簡單的重定向()函數不工作在symfony 1.4

public function executeForward(sfWebRequest $request) 
{ 
    //redirect traffic that has landed here to either advertiser's or our own lander 
    if (rand(1, 100) > 50) 
    { 
    $this->redirect('http://www.google.com', 404); 
    } 
    else 
    { 
    $this->redirect('http://www.bing.com', 404); 
    } 
} 

我已經知道了模板加載這個動作,因爲我可以在這個動作寫草率的代碼,它會在我的瀏覽器500。最重要的是,這裏的基本路線:

forward_page: 
    url: /forward 
    param: { module: static, action: forward } 

做任何的symfony大師有一個非常明顯的答案,爲什麼這不工作?我非常感謝在正確的方向推動。

回答

1

404是錯誤代碼:http://en.wikipedia.org/wiki/HTTP_404 嘗試302代碼,它表示重定向。順便說一句,這是這個選項的默認值:
http://trac.symfony-project.org/browser/branches/1.4/lib/action/sfAction.class.php

+0

我試過輸入302,並試圖讓它默認爲302。我知道默認行爲和錯誤代碼的含義。感謝您的努力! –

+0

好的,請原諒我誤解了你的問題。順便說一句,我已經測試了你的代碼,它的工作原理! – dxb

0

我有一個類似的問題。我認爲問題出在$ this->重定向。據我所知,$ this-> redirect期望第一個參數是symfony路由。它不接受外部URL。不知道我是否正確。