.htaccess 如何使用mod_rewrite更改图像文件夹?

.htaccess 如何使用mod_rewrite更改图像文件夹?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,在我的网页上,我有如下图像链接: img/123456765/mypicture.jpg (<img src="img/123456765/mypicture.jpg" />) img/2534/anotherpicture.jpg RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^img/([a-zA-Z0-9-_]+)/\.(jpg|jpeg|gif|bmp|

在我的网页上,我有如下图像链接:

img/123456765/mypicture.jpg (<img src="img/123456765/mypicture.jpg" />)
img/2534/anotherpicture.jpg
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/([a-zA-Z0-9-_]+)/\.(jpg|jpeg|gif|bmp|png)$ img/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/[a-zA-Z0-9-_]+/(.*\.(jpg|jpeg|gif|bmp|png))$ img/$1 [L]
基本上,我想消除图像路径中的数字文件夹

我试图构建的Mod_重写指令如下所示:

img/123456765/mypicture.jpg (<img src="img/123456765/mypicture.jpg" />)
img/2534/anotherpicture.jpg
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/([a-zA-Z0-9-_]+)/\.(jpg|jpeg|gif|bmp|png)$ img/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/[a-zA-Z0-9-_]+/(.*\.(jpg|jpeg|gif|bmp|png))$ img/$1 [L]

我刚开始重写mod_,所以我不确定这些说明是否正确。如果我错了,有人能纠正我吗?我会很感激的!谢谢

你走对了路,但你想要这样的东西:

img/123456765/mypicture.jpg (<img src="img/123456765/mypicture.jpg" />)
img/2534/anotherpicture.jpg
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/([a-zA-Z0-9-_]+)/\.(jpg|jpeg|gif|bmp|png)$ img/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^img/[a-zA-Z0-9-_]+/(.*\.(jpg|jpeg|gif|bmp|png))$ img/$1 [L]
regex
^img/[a-zA-Z0-9-|]+/(.*(jpg | jpeg | gif | bmp | png))$
有一个匹配
*(jpg | jpeg | gif | bmp | png)
的反向引用($1),基本上是在“img/”后面的数字和字母字符串后面的任何内容。这将重写:

img/123456765/mypicture.jpg to img/mypicture.jpg
img/2534/anotherpicture.jpg to img/anotherpicture.jpg

非常感谢,乔恩!这对我帮助很大^^