Есть ссылки вида
../product/deny/?id=1
../product/?id=1
Htaccess должен обрабатывать только первое совпадение, то есть в данном примере только "product" (и передавать ее как $1 на ключ p). И если есть последующие аргументы в слешах, то передавать их как $2 наверно другому ключу.
Вот так работает сейчас
RewriteRule ^(?!.*mypanel|public)(.*?)/$ index.php?p=$1 [L,QSA]
Господи, как же сложно мне даются эти регулярки...