具有查询string的图像的mod_rewrite规则

我是一个mod_rewrite新手和正则expression式noob,但这是我想要做的:

我有一个脚本 ,将在飞行中重新调整图像的大小。 我希望能够采取任何图像文件path,添加一个查询string,并自动发送到脚本进行处理。

所以像这样:

from: http://mysite.com/images/logo.jpg?w=100&h=50 to: http://mysite.com/images/thumbs/phpThumb.php?src=logo.jpg&w=100&h=50 

当然,如果没有指定查询string,它应该指向原始文件。

使用/ images中的.htaccess文件,我已经得到了这个。 但它根本不起作用。 或者至多,它打破了我所有的网站图像:

  <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^.* RewriteRule ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) /thumbs/phpThumb.php?src=$1 [L,QSA] </IfModule> 

首先添加一个RewriteBase ,这将去除查询string中的/images/ part。 您将获得photo.jpg?w=...而不是/images/photo.jpg?w=...

第二个添加/images/redirect,因为你当前的redirect告​​诉去http://mysite.com/thumbs/phpThumbs...而不是http://mysite.com/images/thumbs/phpThumbs...

这给了这样的事情:

  <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /images/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^.+ RewriteRule ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) /images/thumbs/phpThumb.php?src=$1 [L,QSA] </IfModule>