2016-08-11 7 views
0

PHPのLaravelアプリケーションに標準.htaccessというファイルがあります。Apache htaccessでヘッダを条件付きで設定する

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

要求されたURLが静的ファイルにマップする場合は、それが提供され、それ以外index.phpが呼び出されます。静的ファイル用のヘッダーのセットを追加する必要があります。これは、上記の最後の2つの条件の「else」になります。私は以下のような疑似が必要です。

if static file 
    Header set MyHeaderOne "something" 
    Header set MyHeaderTwo "something" 
end if 

ヘッダーをうまく追加できますが、条件付きでヘッダーを追加できます。私はSetEnvIfで少し見ましたが、それが可能になるかもしれません。

静的なファイル(つまり、/images/example.jpg)に要求されたファイルが存在する場合にのみ、いくつかのヘッダーを追加するにはどうすればよいですか?ありがとうございます!

+0

あなたが持っている静的ファイルのためのあなたのコードは何ですか? –

答えて

2

条件文は、指定したとおりに行うことができます。

<If "%{REQUEST_URI} =~ /\.(gif|jpe?g|png|css|js)$/"> 
    #put your header set stuff here 
</If> 

https://httpd.apache.org/docs/2.4/expr.html#examples

+0

うわー、それは明らかです - 私はそれを見逃していたか分かりません。どうもありがとう! – Andy0708

関連する問題