2014-12-16 12 views
7

Ben laravel 4.laravel no-önbelleğe başlığını

Cache-Control: no-cache 

hep Sitemdeki tüm sayfalarda yanıt olarak gönderilen ediliyor nasılsa başlık sorun yaşıyorum gönderme. Nerede veya nasıl değiştirileceğini bulamıyorum. Ben gerçekten bir yol gibi küresel bunu değiştirmek için olur View::Make bir görünüm sunan ediyorum nerede bu yana

Cache-Control: no-cache

tüm denetleyicileri etkiliyor.

Benim ortam yaratmak çalışır
public function myControllerMethod() { 
    $response = Response::make('something'); 
    $response->setLastModified(new DateTime("now")); 
    $response->setExpires(new DateTime("tomorrow")); 
    return $response; 
} 

, olacak umut: Eğer Cache kullanmak istiyorsanız

+1

Sorunuzu düzenleyebilir ve başka bir 'Cache-Control' başlığına sahip olmak istediğiniz bir denetleyici örneği ekleyebilirsiniz. Ayrıca bunun yerine hangi değeri istiyorsunuz? – lukasgeiter

cevap

6

, sen (bu örnekte bir kontrolör yöntemiyle döndürülen) sizin "Yanıt" nesnesinde davranışını değiştirebilir yardım et.

DÜZENLEME: Eğer küresel ayarlamak istiyorsanız

, bu (app/start/ dizinde) deneyebilirsiniz:

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

Teşekkürler, ama bu tüm kontrollerimi etkilediğinden (sadece bir tanesini değil) - üstbilgiyi global olarak ayarlayabilir miyim? Görüşlerimi sunmak için View :: make kullanıyorum. –

+0

Tamam, cevabımı düzenledim –

0

başkasının laravel 5.4 için cevap bulmaya çalışırken yardımcı olmak için, Bu şöyle olur:

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

Ayrıca bkz: https://laravel.com/docs/5.4/responses fazla bilgi için farklı bir içerik alma konusunda Bir cevap çağrısına (şablonlar vb.).