2016-12-16 11 views
0

私はルールを持っています。 .pngファイルが404を返すかどうかを確認します。もしそうなら、デフォルトのpng画像ファイルを送信します。分かりやすくするためにRewriteRuleを作る404 404の代わりにデフォルトのファイルを返す

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^(.*)\.png /sites/all/libraries/somefolder/404.png [L] 

(これは、すべての.pngにマッチするのではなく)特定のフォルダ内のみを見ることができます。私はこれを試みた:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/sites/all/libraries/somefolder/(.*)\.png /sites/all/libraries/somefolder/404.png [L] 

しかし、それは動作しません。それは何が間違っていますか?

+0

'RewriteRule^sites/all/libraries/somefolder /(。*)\。png/sites/all/library/somfolder/404.png [L]'を試してください。 – anubhava

答えて

0

more_rewriteでこれを行わないでください。適切なコンテンツタイプを提供したいが、あなたが示唆したようにそれを行うことは良いことであり、@ anubhavaのコメントは、まだ200 OKの応答を返します。

代わりに、ErrorDocument 404 …を指定してください。そのような要求を故意に404スクリプトにリダイレクトします。 PHPで。このスクリプトでは、404ステータスヘッダを設定し、要求と一緒に送信されたAcceptヘッダーに基づいてコンテンツタイプのファイルを読み込むだけで、画像に平文、HTML、および404.pngの3種類が必要になります。

関連する問題