2014-12-16 4 views
7

내가 Laravel 4Laravel에는 캐시를 헤더

Cache-Control: no-cache 

항상 내 사이트 내의 모든 페이지에 대한 응답으로 전송되는 어떻게 든 헤더에 문제가있어를 전송하지 않습니다. 어디서 어떻게 변경해야하는지 찾을 수 없습니다. 내가 정말 방식처럼 전 세계적으로이를 변경하는 것이 View::Make과 전망을 제시하고 있습니다 곳부터

Cache-Control: no-cache

내 모든 컨트롤러에 영향을 미치고있다.

그것은 내 ENVIRONNEMENT에서 작동
public function myControllerMethod() { 
    $response = Response::make('something'); 
    $response->setLastModified(new DateTime("now")); 
    $response->setExpires(new DateTime("tomorrow")); 
    return $response; 
} 

, 나는 그것이 것입니다 희망 : 당신은 캐시를 사용하려면

+1

질문을 편집하고 다른 'Cache-Control' 헤더가있는 컨트롤러의 예를 추가 할 수 있습니까? 대신에 어떤 가치를 원하십니까? – lukasgeiter

답변

6

, 당신은 (이 예에서 컨트롤러 메소드에 의해 반환되는) 당신의 "응답"객체의 동작을 변경할 수 있습니다 도움.

는 편집 : 당신이 세계적으로 설정하려면

,이 (app/start/ 디렉토리)을 시도 할 수 있습니다 :

App::after(function($request, $response) { 
    $response->setLastModified(new DateTime("now")); 
    $response->setExpires(new DateTime("tomorrow")); 
}); 
+2

고마워,하지만이 모든 컨트롤에 영향을 미치기 때문에 (단 하나가 아닌) - 어쨌든 나는 헤더를 세계적으로 설정할 수 있는가? View :: make를 사용하여 내 의견을 제시합니다. –

+0

좋아, 내 대답을 편집했습니다. –

0

다른 사람이 Laravel 5.4에 대한 답을 찾기 위해 노력하기 위해, 이은 다음과 같습니다

namespace App\Http\Controllers; 
use DateTime; 

class MyController extends Controller 
{ 
    public function index() 
    { 
    return response('my content here') 
       ->setLastModified(new DateTime("now")) 
       ->setExpires(new DateTime("tomorrow")); 
    } 
} 

항목 : https://laravel.com/docs/5.4/responses 자세한 내용은 다른 콘텐츠를 얻기에 (템플릿 등)을 응답 호출로 변환합니다.

관련 문제