Apache .htaccess重定向,带2个参数

Apache .htaccess重定向,带2个参数,apache,.htaccess,url,redirect,parameters,Apache,.htaccess,Url,Redirect,Parameters,我正在尝试完成以下重定向 website.abc/index.php?page=foo // With one parameter website.abc/foo website.abc/index.php?page=foo&article=bar / With a second parameter website.abc/foo/bar 而且它也必须向后重定向 如果我键入website.abc/foo/bar它应该在内部被重定向到index.php?page=foo&article

我正在尝试完成以下重定向

website.abc/index.php?page=foo // With one parameter
website.abc/foo

website.abc/index.php?page=foo&article=bar / With a second parameter
website.abc/foo/bar
而且它也必须向后重定向

如果我键入website.abc/foo/bar它应该在内部被重定向到index.php?page=foo&article=bar

我可以用一个参数让它工作,但当我使用第二个参数时,URL如下所示,并给出404:

website.abc/foo&article=bar.
我尝试了许多不同的方法使之成为可能,但没有任何效果

有人知道怎么做吗?

这样说:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/index\.php [NC]
RewriteCond %{QUERY_STRING} \bpage=([^&]+)\b [NC]
RewriteCond %{QUERY_STRING} \barticle=([^&]+)\b [NC]
RewriteRule .* /%1/%2/? [R=302,L]

RewriteCond %{REQUEST_URI} ^/index\.php [NC]
RewriteCond %{QUERY_STRING} \bpage=([^&]+)\b [NC]
RewriteRule .* /%1/? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)(?:/([^/]+)/?)?$ index.php?page=$1&article=$2 [L,NC]

这个例子给了我每个页面404个错误,如果我在第二层,URL看起来像这样:website.abc/bar//RewriteCond%{REQUEST_FILENAME}-f通过在第三个查询字符串上方添加这一行,我去掉了404,并将前两个查询字符串合并为一行。现在URL显示正确,但在第二层它给了我一个错误:ERR\u TOO\u MANY\u重定向