2016-04-09 8 views
2

純粋なクライアントベースのWebアプリケーションでは、時々存在しない背景イメージを表示する必要があります。特定のURLパターンが404エラーを返したときにApacheにイメージを提供するように強制する方法がありますか?Apacheが特定のURLパターンで404エラーが発生した場合のデフォルトイメージを表示

404が返すことがありますURLパターン:私はすでに

私は画像を提供したい

http://host/assets/user-images/xxxxx.jpg

http://host/assets/user-images/default.jpg

NOTE .htaccessを使用する

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [QSA,L] 

答えて

2

最初のRewriteCondは、着信要求は/資産/ USER-下JPGファイルのためにあるかどうかをチェックする「/assets/user-images/.htaccess」ファイルに

RewriteCond %{REQUEST_URI} ^/assets/user-images/(.*)\.jpg$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ default.jpg 

を次の行を追加します。 images/orであり、2番目のRewriteCondは-fオプションで要求されたファイルが存在するかどうかをチェックします。存在しない場合、RewriteRuleはデフォルトイメージを提供します。 エンドユーザーには依然として元のイメージのURLが表示されますが、既定のイメージが表示されます。 元のイメージファイルが存在する場合、このルールは実行されません。

+0

はい正常に動作します。スリムの「notFoundHandler」を使用しても、それは本当に堅牢なソリューションです。 –

関連する問題