将规则从目录重写到同一域中的子目录

Rewrite rule from directory to subdirectory in same domain

我有以下 URL:

http://example.com/media/image.png

这应该重定向到:

http://example.com/media/images/image.png

此规则仅用于重定向媒体文件夹中的图像。

但是规则应该 NOT 重定向这种 URLs:

http://example.com/some_folder/media/image.png

收件人:

http://example.com/media/images/image.png

应该怎样?

我试过这样的事情:

RewriteRule /media/(.*) /media/images/ [R,L]

但是我没有得到好的结果

您需要锚定您的表达式,否则它将匹配任何 URL containing /media/ 而不是 startingmedia/

RewriteRule ^media/(.*) /media/images/ [R,L]

如果只是图片,你可能要考虑使表达式更严格,例如:

RewriteRule ^media/(.+\.(jpe?g|gif|png)) /media/images/ [R,L]