因此,您希望允许浏览器向现有查询字符串提供类似folder/123.jpg(或 .gif、.png、.bmp)的图像 URL 并附加:index.php?url=123.jpg
RewriteEngine On
RewriteRule ^folder/([^.]+)\.(jpg|jpeg|png|bmp)$ folder/index.php?url=$1.$2 [L,QSA]
该模式([^.]+)捕获到 in 的所有内容.,$1并且将扩展捕获到$2. [QSA]将附加现有的查询字符串do=xxx,而无需您手动附加它。
这可以在 Apache2 中使用非捕获组进行简化,(?:)因此整个事情都被$1.
RewriteRule ^folder/([^.]+\.(?:jpg|jpeg|png|bmp))$ folder/index.php?url=$1 [L,QSA]
或者您可以有条件地应用它:
# If the request ends in .jpg, .bmp, .png...
RewriteCond %{REQUEST_URI} \.(jpe?g|bmp|png)$
RewriteRule ^folder/(.*)$ folder/index.php?url=$1 [L,QSA]