ファイル拡張子を取得するだけで、対応するフォルダーから画像、js、cssを取得することを目的とした.htaccessファイルがあります。ルートフォルダの/img、/ js、/cssから常にファイルを取得する必要があります。
私がcssとjsのために持っている行はうまく機能します:
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?([a-zA-Z0-9\-\.]+).js$ js/$3.js [NC,L]
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?([a-zA-Z0-9\-\.]+).css$ css/$3.css [NC,L]
しかし、画像に同様の行を使用しようとすると、403「このサーバーの/img/にアクセスする権限がありません。」が表示されます。エラー:
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?(([a-zA-Z0-9\-\.]+).(jpg|png|svg|gif))?$ img/$3 [NC,L]
ホームページではすべて正常に機能しますが、mydomain.com / contact /のような別のページにアクセスしようとすると、403エラーが発生します。画像のURLをコピーしてブラウザに貼り付けても、正常に開きます。
ここで正規表現をテストしましたが、問題ありません。問題の原因は何ですか?