2017-09-14 11 views
0

pngが存在するかどうかを確認するために次のルールを使用しました。特定のリクエストURLパターンにリライトを適用する

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(?!.+/default\.png$).+\.png$ /web/team/default.png [L,NC,R=301] 

それはルールが現在のPNGファイルが存在する場合であっても、このdefault.pngに私のウェブサイト内のすべてのPNG画像をリダイレクトdefault.png

にリダイレクトされますしない場合。

私はこのPNGは、このパスという

注意をリダイレクトするために、ルールを発射存在しない場合、リクエストURLは以下のパターン

host + /web/images/team/anyimagehere.png 

を持っている場合に適用される再生成の規則にしたいです/web/images/team/はファイルシステムに存在しません。これはアプリケーションに基づいているため、要求に応じてアプリケーションによってのみ生成されます。

このルールはどのように調整するのですか?

答えて

0

私が正しくあなたがそうのようなことを行うことができます達成しようとしているものを理解していれば:ここ

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^web/images/team/(.+)\.png /web/team/default.png [L,NC,R=301] 

デモ:http://htaccess.mwl.be?share=669f961b-d3c8-55e1-af32-bced3a260e73

+0

ロジックが正しいですが、私はまだときに、アプリケーションからの500エラーを見ることができます私は存在しないファイルを要求します。-I http://hosthere/web/images/team/555.png HTTP/1.1 500内部サーバーエラー 日付:木曜日、14 Sep 2017 09:05:57 GMT – Jecki

関連する問題