我有这些可能的图像路径:
/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]
但由于循环导致加载页面出错,所以如果路径包含名为uploads的文件夹,我需要停止。
修改
还有另一个问题,我要求的规则必须适用于这个:
RewriteCond%{REQUEST_FILENAME}。(png | jpg | jpeg | gif)$
RewriteRule ^(。*)$ uploads / $ 1 [L,NC,QSA]
将/img.jpg重定向到/upoloads/img.jpg
提前致谢
答案 0 :(得分: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]