Dove posso impostare le intestazioni in laravel

Voglio impostare le intestazioni come array('Cache-Control'=>'no-cache, no-store, max-age=0, must-revalidate','Pragma'=>'no-cache','Expires'=>'Fri, 01 Jan 1990 00:00:00 GMT'); per tutti i miei punti di vista, al momento sto facendo questo in tutti i controller mentre restituisco le visualizzazioni, come

 $headers=array('Cache-Control'=>'no-cache, no-store, max-age=0, must-revalidate','Pragma'=>'no-cache','Expires'=>'Fri, 01 Jan 1990 00:00:00 GMT'); Redirect::to('/',301,$headers);` 

Quindi, invece di scrivere questo per ogni percorso può essere fatto in ambito globale, in modo che le intestazioni siano impostate per ogni vista.

Ho provato a impostare le intestazioni creando dopo il filtro, ma non l’ho fatto funzionare.

Qualcuno può dirmi dove posso impostare le intestazioni per tutte le mie opinioni?

AGGIORNAMENTO Uno dei miei contenuti meta del file di visualizzazione

     </code> </pre>
<p>  Ora quando uso <code>Redirect::to('/',301,$headers)</code> L’intestazione in firebug è </p>
<pre> <code>Cache-Control max-age=0, must-revalidate, no-cache, no-store, private Connection Keep-Alive Content-Type text/html; charset=UTF-8 Date Tue, 09 Jul 2013 14:52:08 GMT Expires Fri, 01 Jan 1990 00:00:00 GMT</code> </pre>
<p>  E quando uso <code>Redirect::to('/');</code> </p>
<p>  L’intestazione di firebug è </p>
<pre> <code>Cache-Control no-cache Connection Keep-Alive Content-Type text/html; charset=UTF-8 Date Tue, 09 Jul 2013 14:52:08 GMT</code> </pre>
</p>
    <div class="list-group list-group-flush">
        


	<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Ci sono un paio di modi in cui puoi farlo – tutti hanno vantaggi / svantaggi. </p>
<p>  <strong>Opzione 1 (semplice):</strong> poiché l’array è costituito solo da dati statici, è sufficiente posizionare manualmente le intestazioni nei layout delle viste, ovvero non passarle da nessuna parte, ma codificarle direttamente nella vista. </p>
<pre> <code><?php //set headers to NOT cache a page header("Cache-Control: no-cache, must-revalidate"); //HTTP 1.1 header("Pragma: no-cache"); //HTTP 1.0 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past ?></code> </pre>
<p>  <strong>Opzione 2:</strong> usa view compositers .  Puoi utilizzare un’app prima del filtro per associare l’intestazione a tutte le visualizzazioni nella tua app. </p>
<pre> <code>App::before(function($request) { $headers=array('Cache-Control'=>'no-cache, no-store, max-age=0, must-revalidate','Pragma'=>'no-cache','Expires'=>'Fri, 01 Jan 1990 00:00:00 GMT'); View::share('headers', $headers); });</code> </pre>
<p>  Quindi riecheggia le intestazioni $ nelle tue visualizzazioni. </p>
<p>  Nota: è necessario lasciare che la vista imposti le intestazioni – ecco perché stiamo “passando” l’intestazione in vista affinché Laravel possa gestirle.  Se provi a generare l’intestazione stessa all’interno di un filtro o qualcosa del genere, causerai problemi. </p>
<p>  <strong>Modifica Opzione 3:</strong> ho appena scoperto questo – puoi provare questo </p>
<pre> <code>App::before(function($request) { Response::header('Cache-Control', 'nocache, no-store, max-age=0, must-revalidate'); Response::header('Pragma', 'no-cache'); Response::header('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT'); });</code> </pre>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  In Laravel 4, questo funziona per me: </p>
<p>  In filters.php: </p>
<pre> <code>App::after(function($request, $response) { $response->headers->set('key','value'); });</code> </pre>
<p>  Piace: </p>
<pre> <code>App::after(function($request, $response) { $response->headers->set('P3P','CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"'); });</code> </pre>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  In Laravel 5, usando Middleware, creando un nuovo file, modificando un file esistente: </p>
<p>  Nuovo file: <strong>app / Http / Middleware / AddHeaders.php</strong> </p>
<pre> <code><?php namespace App\Http\Middleware; use Closure; use Illuminate\Contracts\Routing\Middleware; // If Laravel >= 5.2 then delete 'use' and 'implements' of deprecated Middleware interface. class AddHeaders implements Middleware { public function handle($request, Closure $next) { $response = $next($request); $response->header('header name', 'header value'); $response->header('another header', 'another value'); return $response; } }</code> </pre>
<p>  Modifica l’ <strong>app</strong> file esistente <strong>/ Kernel.php</strong> </p>
<pre> <code>protected $middleware = [ . . . 'App\Http\Middleware\AddHeaders', ];</code> </pre>
<p>  E tu sei pronto. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Lavorare su Laravel 4.2.  Sto usando un filtro per questo, quindi in filters.php ho: </p>
<pre> <code>Route::filter('no-cache',function($route, $request, $response){ $response->header("Cache-Control","no-cache,no-store, must-revalidate"); $response->header("Pragma", "no-cache"); //HTTP 1.0 $response->header("Expires"," Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past });</code> </pre>
<p>  Poi collego questo filtro a rotte o controller.  Il controller collegato è simile a questo per me: </p>
<pre> <code>public function __construct() { $this->beforeFilter('onestep',array('except' => 'getLogin')); $this->beforeFilter('csrf',array('on' => 'post')); $this->afterFilter("no-cache", ["only"=>"getIndex"]); }</code> </pre>
<p>  Questo filtro è collegato come afterFilter. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  In Laravel 5 puoi cambiare /public/index.php riga 55 e impostare la tua intestazione per l’intera app: </p>
<pre> <code>$response->send();</code> </pre>
<p>  con: </p>
<pre> <code>$response->header('Content-Type','text/html; charset=ISO-8859-1')->send();</code> </pre>
<p>  per essample. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Per Laravel> = 5.2 ancora, dopo la risposta di @Amarnasan, anche se ho usato il mio per le chiamate API </p>
<p>  In Laravel 5, usando Middleware, creando un nuovo file, modificando un file esistente: </p>
<p>  Nuovo file: app / Http / Middleware / AddHeaders.php </p>
<pre> <code><?php namespace App\Http\Middleware; use Closure; use Illuminate\Routing\Redirector; use Illuminate\Http\Request; use Illuminate\Foundation\Applicaion; class AddHeaders { public function handle($request, Closure $next) { $response = $next($request); $response->header('Cache-Control', 'max-age=36000, public'); //$response->header('another header', 'another value'); return $response; } }</code> </pre>
<p>  Modifica l’app di file esistente / Kernel.php in modo da poterti utilizzare con ogni percorso specifico </p>
<pre> <code>protected $routeMiddleware = [ . . . 'myHeader' => \App\Http\Middleware\AddHeaders::class, ]; And you're set.</code> </pre>
<p>  Quindi puoi usarlo in questo modo per singoli percorsi o gruppi </p>
<pre> <code>$api->get('cars/all', 'MyController@index')->middleware(['myHeader']);;</code> </pre>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Per i futuri lettori che utilizzano Laravel 5.x, questo può essere gestito <strong>senza la necessità di creare alcun middleware personalizzato</strong> . </p>
<p>  Laravel ha il metodo helper <code>response()</code> , che puoi colbind molto facilmente alle intestazioni. </p>
<pre> <code>use Response; // Or possibly: use Illuminate\Http\Response; depending on your aliases used. // Add a series of headers return response($content) ->header('Content-Type', 'text/xml') ->header('X-Header-One', 'Header Value'); // Or use withHeaders to pass array of headers to be added return response($content) ->withHeaders([ 'Content-Type' => 'text/xml', 'X-Header-One' => 'Header Value' ]);</code> </pre>
<p>  Leggi di più nella documentazione , perché può gestire albind una serie di cose;  <code>cookies</code> , <code>views</code> e altro ancora. </p>
</div>
</li><!-- #comment-## -->

 	</div>
		
        </div>
<ul>
<li><a href="https://www.yocker.com/50985/laravel-reindirizza-nuovamente-con-il-messaggio.html" rel="bookmark" title="Laravel reindirizza nuovamente con () il messaggio">Laravel reindirizza nuovamente con () il messaggio</a></li><li><a href="https://www.yocker.com/42895/laravel-usa-scope-nei-modelli-con-relazione.html" rel="bookmark" title="Laravel.  Usa scope () nei modelli con relazione">Laravel.  Usa scope () nei modelli con relazione</a></li><li><a href="https://www.yocker.com/33594/laravel-orderby-su-una-relazione.html" rel="bookmark" title="Laravel orderBy su una relazione">Laravel orderBy su una relazione</a></li><li><a href="https://www.yocker.com/60412/configurazione-di-nginx-per-laravel-4.html" rel="bookmark" title="configurazione di nginx per Laravel 4">configurazione di nginx per Laravel 4</a></li><li><a href="https://www.yocker.com/44078/qual-e-la-differenza-tra-la-coda-lavoro-daemon-e-coda-ascolta.html" rel="bookmark" title="Qual è la differenza tra la coda: lavoro --daemon e coda: ascolta">Qual è la differenza tra la coda: lavoro --daemon e coda: ascolta</a></li><li><a href="https://www.yocker.com/44638/convalida-dei-campi-del-modulo-dellarray-nellerrore-laravel-4.html" rel="bookmark" title="Convalida dei campi del modulo dell'array nell'errore laravel 4">Convalida dei campi del modulo dell'array nell'errore laravel 4</a></li><li><a href="https://www.yocker.com/17872/lancio-di-laravel-methodnotallowedhttpexception.html" rel="bookmark" title="lancio di laravel MethodNotAllowedHttpException">lancio di laravel MethodNotAllowedHttpException</a></li><li><a href="https://www.yocker.com/52627/variabile-globale-per-tutti-i-controller-e-le-viste.html" rel="bookmark" title="variabile globale per tutti i controller e le viste">variabile globale per tutti i controller e le viste</a></li></ul>    
    </div>
    
</div>

   <div class="clearfix mt-5"></div>
    <hr />
<footer>
        <ul class="list-inline text-center">
        <li class="list-inline-item">© 2020 Yocker</li>
        <li class="list-inline-item"><a href="/topics">Topics</a></li>
        <li class="list-inline-item"><a href="#">Terms</a></li>
        <li class="list-inline-item"><a href="#">Privacy Policy</a></li>
        </ul>
</footer>

</div>     
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
  </body>
    <!-- Default Statcounter code for Yocker.com
http://www.yocker.com -->
<script type="text/javascript">
var sc_project=11853109; 
var sc_invisible=1; 
var sc_security="3eeb514b"; 
</script>
<script type="text/javascript"
src="https://www.statcounter.com/counter/counter.js"
async></script>
<noscript><div class="statcounter"><a title="site stats"
href="https://statcounter.com/" target="_blank"><img
class="statcounter"
src="https://c.statcounter.com/11853109/0/3eeb514b/1/"
alt="site stats"></a></div></noscript>
<!-- End of Statcounter Code -->
</html>