Où puis-je définir les en-têtes en laravel

Je veux définir les en-têtes sous forme de array('Cache-Control'=>'no-cache, no-store, max-age=0, must-revalidate','Pragma'=>'no-cache','Expires'=>'Fri, 01 Jan 1990 00:00:00 GMT'); pour tous mes points de vue, je le fais actuellement dans tous les contrôleurs tout en retournant des vues, comme

 $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);` 

Donc, au lieu d’écrire cela pour chaque route, cela peut être fait dans une scope globale, de sorte que les en-têtes soient définis pour chaque vue.

J’ai essayé de définir des en-têtes en créant après un filtre, mais je n’ai pas réussi à le faire fonctionner.

Quelqu’un peut-il me dire où puis-je définir les en-têtes pour toutes mes vues?

UPDATE Un de mes méta contenu de vue

     </code> </pre>
<p>  Maintenant, quand j’utilise <code>Redirect::to('/',301,$headers)</code> L’en-tête dans firebug est </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>  Et quand j’utilise <code>Redirect::to('/');</code> </p>
<p>  L’en-tête de firebug est </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>		<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2131274154113768"
     data-ad-slot="2093644592"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
        <ul><li><a href="https://www.ipgirl.com/58296/comment-selectionner-compte-avec-le-createur-de-requetes-courant-de-laravel.html" rel="bookmark" class="nav-link p-0">Comment sélectionner compte avec le créateur de requêtes courant de Laravel?</a></li><li><a href="https://www.ipgirl.com/58036/comment-installer-laravel-via-laravel-installer-sur-windows.html" rel="bookmark" class="nav-link p-0">Comment installer Laravel via Laravel Installer sur Windows?</a></li><li><a href="https://www.ipgirl.com/57055/laravel-4-comment-puis-je-obtenir-la-valeur-de-lenvironnement.html" rel="bookmark" class="nav-link p-0">Laravel 4: comment puis-je obtenir la valeur de l’environnement?</a></li><li><a href="https://www.ipgirl.com/56803/angularjs-toutes-les-barres-obliques-de-lurl-ont-ete-remplacees-par-2f.html" rel="bookmark" class="nav-link p-0">AngularJS Toutes les barres obliques de l’URL ont été remplacées par% 2F</a></li><li><a href="https://www.ipgirl.com/56564/laravel-auth-user-id-essayant-dobtenir-une-propriete-dun-non-object.html" rel="bookmark" class="nav-link p-0">Laravel: Auth :: user () -> id essayant d’obtenir une propriété d’un non-object</a></li></ul>    <div class="list-group list-group-flush">

    


	<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Vous pouvez le faire de plusieurs manières différentes – toutes présentent des avantages et des inconvénients. </p>
<p>  <strong>Option 1 (simple):</strong> le tableau n’étant que des données statiques – placez directement les en-têtes directement dans vos présentations – c.-à-d. Ne les passez pas de n’importe où – codez-les directement dans votre vue. </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>Option 2:</strong> Utiliser les compositeurs de vue .  Vous pouvez utiliser une application avant le filtre pour lier l’en-tête à toutes les vues de votre application. </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>  Ensuite, répétez simplement les en-têtes $ dans vos vues. </p>
<p>  Remarque: vous devez laisser la vue définir vos en-têtes – c’est pourquoi nous transmettons l’en-tête pour que Laravel puisse le gérer.  Si vous essayez de sortir l’en-tête lui-même à partir d’un filtre ou de quelque chose, vous allez créer des problèmes. </p>
<p>  <strong>Modifier l’option 3:</strong> je viens de découvrir cela – vous pourriez essayer ceci </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>  Dans Laravel 4, cela fonctionne pour moi: </p>
<p>  Dans filters.php: </p>
<pre> <code>App::after(function($request, $response) { $response->headers->set('key','value'); });</code> </pre>
<p>  Comme: </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>  Dans Laravel 5, utiliser Middleware, créer un nouveau fichier, modifier un fichier existant: </p>
<p>  Nouveau fichier: <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>  Modifier le fichier existant <strong>app / Kernel.php</strong> </p>
<pre> <code>protected $middleware = [ . . . 'App\Http\Middleware\AddHeaders', ];</code> </pre>
<p>  Et vous êtes prêt. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Travailler sur Laravel 4.2.  J’utilise un filtre pour cela, donc dans filters.php j’ai: </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>  Je attache ce filtre aux routes ou aux contrôleurs.  Contrôleur attaché ressemble à ceci pour moi: </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>  Ce filtre est attaché comme afterFilter. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Dans Laravel 5, vous pouvez modifier /public/index.php ligne 55 et définir votre en-tête pour l’application entière: </p>
<pre> <code>$response->send();</code> </pre>
<p>  avec: </p>
<pre> <code>$response->header('Content-Type','text/html; charset=ISO-8859-1')->send();</code> </pre>
<p>  pour exemple. </p>
</div>
</li><!-- #comment-## -->
<div class="list-group-item list-group-item-action flex-column align-items-start">
		      	<p>  Pour Laravel> = 5.2, après la réponse de @Amarnasan, bien que j’aie utilisé les miens pour les appels d’API </p>
<p>  Dans Laravel 5, utiliser Middleware, créer un nouveau fichier, modifier un fichier existant: </p>
<p>  Nouveau fichier: 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>  Modifiez le fichier existant app / Kernel.php pour pouvoir l’utiliser avec chaque itinéraire spécifique </p>
<pre> <code>protected $routeMiddleware = [ . . . 'myHeader' => \App\Http\Middleware\AddHeaders::class, ]; And you're set.</code> </pre>
<p>  Ensuite, vous pouvez l’utiliser comme tel pour des itinéraires ou des groupes individuels </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>  Pour les futurs lecteurs utilisant Laravel 5.x, cela peut être réalisé <strong>sans avoir à créer de middleware personnalisé</strong> . </p>
<p>  Laravel a la méthode d’assistance <code>response()</code> , à laquelle vous pouvez enchaîner les en-têtes très facilement. </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>  En savoir plus à ce sujet dans la documentation , car il peut gérer plusieurs choses.  <code>cookies</code> , <code>views</code> et plus. </p>
</div>
</li><!-- #comment-## -->

 	</div>
		
        </div>
        
<ul>
<ul><li><a href="https://www.ipgirl.com/56391/les-horodatages-ne-sont-pas-mis-a-jour-lors-de-lattachement-de-donnees-dans-le-tableau-croise-dynamic.html" rel="bookmark" class="nav-link p-0">Les horodatages ne sont pas mis à jour lors de l’attachement de données dans le tableau croisé dynamic</a></li><li><a href="https://www.ipgirl.com/55548/installation-homestead.html" rel="bookmark" class="nav-link p-0">Installation Homestead</a></li><li><a href="https://www.ipgirl.com/54721/une-jointure-avec-une-condition-supplementaire-en-utilisant-query-builder-ou-eloquent.html" rel="bookmark" class="nav-link p-0">Une jointure avec une condition supplémentaire en utilisant Query Builder ou Eloquent</a></li><li><a href="https://www.ipgirl.com/52232/quelle-est-la-difference-entre-queue-work-daemon-et-queue-listen.html" rel="bookmark" class="nav-link p-0">Quelle est la difference entre queue: work –daemon et queue: listen</a></li><li><a href="https://www.ipgirl.com/51220/laravel-eloquent-obtenez-une-rangee.html" rel="bookmark" class="nav-link p-0">Laravel Eloquent – Obtenez une rangée</a></li><li><a href="https://www.ipgirl.com/50911/laravel-sauvegarder-mettre-a-jour-de-nombreuses-relations.html" rel="bookmark" class="nav-link p-0">Laravel sauvegarder / mettre à jour de nombreuses relations</a></li><li><a href="https://www.ipgirl.com/49542/laravel-4-toutes-les-routes-sauf-la-maison-provoquent-une-erreur-de-404.html" rel="bookmark" class="nav-link p-0">laravel 4 toutes les routes sauf la maison provoquent une erreur de 404</a></li><li><a href="https://www.ipgirl.com/48401/erreur-de-migration-laravel-erreur-de-syntaxe-ou-violation-daccess-1071-la-cle-specifiee-etait-trop-longue-la-longueur-maximale-de-la-cle-est-de-767-octets.html" rel="bookmark" class="nav-link p-0">Erreur de migration Laravel: Erreur de syntaxe ou violation d’access: 1071 La clé spécifiée était trop longue;  la longueur maximale de la clé est de 767 octets</a></li><li><a href="https://www.ipgirl.com/48208/execution-dune-migration-specifique-de-laravel-4-fichier-unique.html" rel="bookmark" class="nav-link p-0">Exécution d’une migration spécifique de laravel 4 (fichier unique)</a></li><li><a href="https://www.ipgirl.com/47216/eloquent-ou-pas-egal-a.html" rel="bookmark" class="nav-link p-0">Eloquent – où pas égal à</a></li></ul></ul>    
    </div>
    
</div>

   <div class="clearfix mt-5"></div>
    <hr />
<footer>
        <ul class="list-inline text-center">
        <li class="list-inline-item">© 2017 IP Girl</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><script type="text/javascript">
var sc_project=11834759; 
var sc_invisible=1; 
var sc_security="9545855c"; 
</script>
<script type="text/javascript"
src="https://www.statcounter.com/counter/counter.js"
async></script>
<noscript><div class="statcounter"><a title="free web stats"
href="http://statcounter.com/" target="_blank"><img
class="statcounter"
src="//c.statcounter.com/11834759/0/9545855c/1/" alt="free
web stats"></a></div></noscript>
</html>