0

ファイル拡張子を取得するだけで、対応するフォルダーから画像、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をコピーしてブラウザに貼り付けても、正常に開きます。

ここで正規表現をテストしましたが、問題ありません。問題の原因は何ですか?

4

1 に答える 1

1
RewriteRule ([a-z0-9\-\.]+)\.(js|css)$ $2/$1.$2 [NC,L]
RewriteRule ([a-z0-9\-\.]+)\.(jpe?g|png|svg|gif)$ img/$1.$2 [NC,L]
于 2012-10-18T12:36:50.273 に答える