我将图像目录移动到另一个文件夹,现在我想将该文件夹中的所有图像请求重定向到新文件夹。 我无法访问主配置文件,因此我在.htaccess中执行此操作。
我尝试了这个,它有效:
RewriteCond %{REQUEST_URI} old_dir/.+\.(jpg|png|gif)$
RewriteRule old_dir/(.+[^/]+\..+)$ $1 [L,PT]
但是因为他们已经永久移动了,我想做一个正确的重定向,所以我添加了[R]标志,如下所示:
RewriteCond %{REQUEST_URI} old_dir/.+\.(jpg|png|gif)$
RewriteRule old_dir/(.+[^/]+\..+)$ $1 [L,PT,R]
但服务器感到困惑,并返回400,所以我查看了日志文件,这就是:
strip per-dir prefix: C:/wamp/www/natrazyle/old_dir/images/banner.jpg -> old_dir/images/banner.jpg
applying pattern 'old_dir/(.+[^/]+\..+)$' to uri 'old_dir/images/banner.jpg'
rewrite 'old_dir/images/banner.jpg' -> 'images/banner.jpg'
add per-dir prefix: images/banner.jpg -> C:/wamp/www/natrazyle/images/banner.jpg
explicitly forcing redirect with http://localhost/C:/wamp/www/natrazyle/images/banner.jpg
如您所见,在localhost
之后添加了完整的本地路径我知道我做错了什么,我自己也搞不清楚。 任何帮助将不胜感激......
答案 0 :(得分:0)
在替换中使用绝对网址路径:
RewriteRule ^old_dir/(.+\.(jpg|png|gif))$ /$1 [L,R]