0

画像へのこれらの可能なパスがあります:

/media/thumbnail/img.jpg
または
/media/thumbnail/product/img.jpg
または
/media/thumbnail/product/some-text/img.jpg

すべてリダイレクトする必要があります:
/media/thumbnail/uploads/img.jpg

私はこれを試しました:

RewriteCond %{REQUEST_FILENAME} \.(png|jpg|jpeg|gif)$
RewriteRule ^/media/(.*)/(.*)$ /media/$1/uploads/$2 [L,R]

しかし、ループが原因でページの読み込み中にエラーが発生するため、パスにアップロードというフォルダーが含まれている場合は停止する必要があります。

編集:
別の問題があります。私が求めているルールは、これで機能する必要があります:

RewriteCond %{REQUEST_FILENAME} .(png|jpg|jpeg|gif)$
RewriteRule ^(.*)$ アップロード/$1 [L,NC,QSA]

/img.jpg を /upoloads/img.jpg にリダイレクトします

前もって感謝します

4

1 に答える 1

0

.htaccess の RewriteRule が先頭のスラッシュと一致しません。

コードを変更してください:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^./]+\.(?:png|jpe?g|gif)$ /uploads%{REQUEST_URI} [L,NC]

RewriteCond %{REQUEST_FILENAME} /(?=[^/]*$)([^.]+\.(?:png|jpe?g|gif))$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^media/([^/]+)/(.*)$ /media/$1/uploads/%1 [L,R]
于 2013-06-14T16:41:22.953 に答える