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]

但由于循环,加载页面时出现错误,因此如果路径包含名为 uploads 的文件夹,我需要停止。

编辑:
还有另一个问题,我要求的规则必须适用于这个:

RewriteCond %{REQUEST_FILENAME} .(png|jpg|jpeg|gif)$
RewriteRule ^(.*)$ uploads/$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 回答