2014-12-16 8 views
7

Ich habe Probleme mit Laravel 4. Irgendwie ist der KopfLaravel Senden no-cache-Header

Cache-Control: no-cache 

ist immer in der Antwort auf allen Seiten innerhalb meiner Website gesendet werden. Ich kann nicht finden, wo oder wie ich es ändern kann.

Cache-Control: no-cache

Da dies Auswirkungen auf alle meine Controller, auf denen ich eine Ansicht mit View::Make präsentieren ich wie eine Art und Weise wirklich würde dies global zu ändern.

+1

Können Sie Ihre Frage bearbeiten und ein Beispiel für einen Controller hinzufügen, der einen anderen 'Cache-Control'-Header haben soll. Welchen Wert möchten Sie stattdessen? – lukasgeiter

Antwort

6

Wenn Sie Cache verwenden möchten, können Sie sein Verhalten in der „Response“ Objekt ändern (von einem Controller-Methode in diesem Beispiel zurückgegeben):

public function myControllerMethod() { 
    $response = Response::make('something'); 
    $response->setLastModified(new DateTime("now")); 
    $response->setExpires(new DateTime("tomorrow")); 
    return $response; 
} 

es in meinem environnement funktioniert, ich hoffe, es wird Hilfe.

EDIT:

Wenn Sie global um es einrichten möchten, können Sie versuchen, diese (in app/start/ Verzeichnis):

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

Danke, aber da dies alle meine Steuerungen betrifft (nicht nur eine einzige) - kann ich den Header trotzdem global setzen? Ich verwende View :: make, um meine Ansichten zu präsentieren. –

+0

Ok, ich habe meine Antwort bearbeitet –

0

jemand anderen zu helfen, die Antwort für Laravel 5.4, zu finden versuchen, dies wäre:

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")); 
    } 
} 

Siehe auch: https://laravel.com/docs/5.4/responses für weitere Informationen zu bekommen unterschiedliche Inhalte (Vorlagen usw.) in einen Antwortanruf.

Verwandte Themen