4
我正在使用Sliex框架。當我使用\Silex\Application::redirect
方法時,我遇到了重定向問題。我發現,當我試圖通過http-headers重定向時,而不是symfony「發送」響應似乎稱爲__toString
方法。Symfony響應對象如何設置http標頭?
這是我的捲曲輸出:
bash-4.2$ curl -v http://127.0.0.1:8082/
* About to connect() to 127.0.0.1 port 8082 (#0)
* Trying 127.0.0.1...
* Adding handle: conn: 0x1ea0970
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x1ea0970) send_pipe: 1, recv_pipe: 0
* Connected to 127.0.0.1 (127.0.0.1) port 8082 (#0)
> GET/HTTP/1.1
> User-Agent: curl/7.32.0
> Host: 127.0.0.1:8082
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sat, 20 Sep 2014 08:02:52 GMT
* Server Apache/2.4.10 (Fedora) PHP/5.5.15 is not blacklisted
< Server: Apache/2.4.10 (Fedora) PHP/5.5.15
< X-Powered-By: PHP/5.5.15
< Set-Cookie: PHPSESSID=*****; path=/
< Content-Length: 116
< Content-Type: text/html; charset=UTF-8
<
HTTP/1.0 302 Found
Cache-Control: no-cache
Date: Sat, 20 Sep 2014 08:02:52 GMT
Location: /login
* Connection #0 to host 127.0.0.1 left intact
我不明白爲什麼,但它呼應的HTTP報頭。
UPDATE
我的腳本是這樣的:
<?php class Contorller {
public action(\Silex\Application $app){
return $app->redirect('/login');
}
}
路由腳本:
<?php
$core = new \Silex\Application;
$core->get("/another/action", "\\Controller::action")
$core->match("/login","\\AnotherController::login")->method('POST|GET');
登錄動作有沒有邏輯,它只是呈現一根樹枝模板。
你的php腳本是怎樣的? – 2014-09-20 08:28:06
您可以添加路由指令和登錄控制器嗎? – Fractaliste 2014-09-24 11:01:07