1

次の問題があります。ファイルをWebサーバーにアップロードすると、ファイルの名前が自動的に大文字の拡張子に変更されます。例:picture.jpgをアップロードすると、サーバーによって自動的にpicture.JPGに変更されます

サーバーを使用<img src="picture.jpg">すると404エラーが返されますが、使用する<img src="picture.JPG">とサーバーに画像が表示されます。

.htaccessはこの問題を解決できますか?RewriteRuleとRewriteCondで何か?

RewriteCond %{HTTP_HOST} ^$\.jpg [NC]
RewriteRule ^(.*)$ $1\.JPG [R=301,L]

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

1

これをドキュメントルートのhtaccessファイルに追加してみてください。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(.+)\.jpg$ 
RewriteCond %{DOCUMENT_ROOT}/%1.JPG -f
RewriteRule ^ /%1.JPG [L]

変数と照合したくないことを除いて、あなたはほぼ正しい方向に進んでいました%{HTTP_HOST}(これはホスト名にすぎないため)。JPG拡張子が大文字になっている場合、すべて大文字のJPGに書き換える前に、実際にそこにファイルがあることを最初に確認するための条件をいくつか追加しました。これ%1は、最初の書き換え条件での一致への後方参照です^/(.+)\.jpg$

于 2012-08-29T21:36:30.343 に答える