Не сам по себе ответ (начинающийся как комментарий), но может вам немного помочь:
Ваш подход не работает, поскольку директивы RewriteCond не влияют на RewriteBase.За RewriteCond может следовать только другой RewriteCond или RewriteRule.RewriteBase - совершенно другой зверь: я не думаю, что условная RewriteBase возможна;У меня есть смутное ощущение, что он обрабатывается при запуске, поэтому не может быть изменен динамически (но я могу быть очень неправ в этом).У Google есть несколько попаданий для «условной базы перезаписи», вы можете просматривать их, но они кажутся в значительной степени отрицательными.
Игра с IfDefine для достижения аналогичного эффекта будет стоить выстрела.
В качестве альтернативы, вы можете попробовать сделать это с RewriteRules и переменными среды:
RewriteBase /
RewriteCond %{HTTP_HOST} =stagingsite.com
RewriteRule ^ - [E=FRB:/staging/mysite]
RewriteCond %{HTTP_HOST} =localhost
RewriteRule ^ - [E=FRB:/dev/mysite]
, а затем добавить каждый путь перезаписи с переменной среды FRB, например
RewriteRule ^home$ %{ENV:FRB}/index.php
Но это всего лишь непроверенная теория.