вам нужно добавить флаг [QSA] (добавление строки запроса) в ваши правила.
Как общий совет, лучше иметь только одно общее правило, такое как
RewriteRule .* index.php?path=$0
и разбор пути на уровне php. Это гораздо более гибкий и прозрачный.
для уточнения, вот полная настройка
.htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php?path=$0 [QSA]
index.php
<code><pre>
<?php
print_r($_GET);
?>
когда вызывается как www.example.com/foo/bar/baz?quux=123&blah=456
это печатает
Array
(
[path] => foo/bar/baz
[quux] => 123
[blah] => 456
)
осталось только разобрать $ _GET ['path'] с помощью разнесения или регулярных выражений.