.htaccess 重定向属性

.htaccess redirect with attributes

我正在尝试制定 .htaccess 重定向规则以实现以下目标

https://www.example.net/index.php?a=in&u=testUser&api_key=4r98f4r98f&ip_address=127.0.0.1

https://www.example.net/api.php?ip=127.0.0.1&username=testUser

但我无法让它工作,有什么提示吗?

RewriteEngine on

RewriteCond %{QUERY_STRING} ^a=([^&]+)&u=([^&]+)&api_key=([^&]+)&api_key=([^&]+)&ip_address=([^&]+)$ [NC]
RewriteRule ^index\.php$ https://www.example.net/api.php?ip=%5&username=%2? [NC,L,R]

您的条件中有两次 api_key 参数,而且不要捕获不需要在目标中重用的值。你最后还有一个额外的错位?

你的规则是这样的:

RewriteCond %{QUERY_STRING} ^a=[^&]*&u=([^&]+)&api_key=[^&]*&ip_address=([^&]+)$ [NC]
RewriteRule ^index\.php$ /api.php?ip=%2&username=%1 [NC,L,NE,R=302]