私は、mod_rewriteを使用してアバター画像のリクエストを処理したいと思います。 私はすべての.png
イメージを含むフォルダを持っていて、そのファイルの名前はアカウントのユーザー名の名前になります。mod_rewrite、avatarセットアップ
/avatar/Juddling
の画像を表示するようにお願いします。/images/avatars/Juddling.png
このファイルが存在しない場合は、default.png
の画像を表示したいと思います。
Options +FollowSymLinks
Options +Indexes
Options -MultiViews
RewriteEngine On
RewriteRule ^avatar/(.*)$ images/avatars/$1.png [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^avatar/(.*)$ images/avatars/default.png [NC,L]
Apacheは唯一のアバターがデフォルトの画像を見るのではなく、存在しない場合、私は404を得ているように、第1 RewriteRule
を処理しているようです。
なぜ '(。* [^ /])? 'を使用しますか? '/ avatar /'の後の部分を空にする理由は? – Gumbo
私は表現が何を恐れるのか分かりません。別の例からコピーしました。しかし、ちょうど(。*)の場合、常にdefault.pngイメージが返されます。つまり、条件に問題があります。 – Juddling