htaccess将所有图像重定向到不同的位置,并将图像名称放在新的URL中

Ian*_*ert 2 apache url .htaccess mod-rewrite rewrite

这是我正在使用的重写规则:

RewriteRule (.*\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/?image=$1
Run Code Online (Sandbox Code Playgroud)

我想要的是将所有图像重定向到新位置,以上规则可以在paritally工作.问题是$ 1将包含来自旧请求的整个url而不仅仅是文件名.我只需要文件名,我尝试的所有内容似乎都无法正常工作.任何帮助表示赞赏.

我想我已经明白了.如果有人有任何其他解决方案,请不要犹豫,添加它们.谢谢.

RewriteRule ^([^.]+)/([^.]+\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/$2
Run Code Online (Sandbox Code Playgroud)

谢谢.

anu*_*ava 7

实际上这个规则对你来说会更好:

RewriteRule ([^.]+\.(jpe?g|gif|bmp|png))$ http://www.newurl.com/$1 [R=301,L,NC]
Run Code Online (Sandbox Code Playgroud)

最好只匹配图像名称而不是完整的REQUEST_URI,从而删除文本字符的开头 ^

R Flag文档