保留GET参数的RewriteRule

tir*_*hen 8 .htaccess mod-rewrite get apache2

这个重写规则有什么问题?

RewriteRule ^api/(.+)$ api/index.php?url=$1 [L]
Run Code Online (Sandbox Code Playgroud)

我只想在api /之后和其余的get参数之前添加"index.php?url =".

api/image/upload&arg1=1&text=lorem+ipsum
Run Code Online (Sandbox Code Playgroud)

api/index.php?url=image/upload&arg1=1&text=lorem+ipsum
Run Code Online (Sandbox Code Playgroud)

(.+)在api /之后获取所有内容有什么问题?

hob*_*bbs 19

RewriteRule上的正则表达式仅针对URL的路径部分运行,而不是查询参数.幸运的是,有一个[QSA]标志来保留现有的查询参数.