Добавьте [QSA]
флаг к вашим изменениям. Это возьмет исходную строку запроса и добавит к ней новые параметры.
RewriteRule ^(.*).html$ index.php?tag=$1 [L,QSA]
Это перепишет whatever.html?orderby=views
в index.php?tag=whatever&orderby=views
.
Единственный улов в том, что с PHP в любом случае, whatever.html?tag=somethingelse
придаст вам некоторую странность. ($_GET['tag']
будет иметь два значения, но реальным значением будет только то, которое будет отображаться последним). Но обычно это нормально; вам просто нужно быть уверенным, что вы не предоставите такие URL, и вам может быть все равно, что увидят люди, пробующие эти дурацкие URL. (Если, конечно, вы правильно подтвердите $_GET['tag']
.)