何をどこまで改修するのか、にもよるのですが、ぱっと思いつくのはバーチャルホストかなぁ。
例えば、既存が www.example.com だったとして、改修後のコンテンツを new.example.com でアクセスできるようにしておく。
で、new.example.com で正常に動くのを確認したら、www.example.com が改修後のコンテンツを指すように変更する。
確認作業に使う端末側の hosts ファイル(UNIX 系 OS なら /etc/hosts、Windows なら C:\Windows\System32\drivers\etc\hosts)に、new.example.com の行を書けば、外からアクセスする人は、new.example.com では通常はアクセスできないので、作業中のコンテンツにアクセスしてしまうことは無い。
あと、MySQL 側がどうか? というのはあります。例えば、データベースのテーブル構造に変更があるような場合、どうしても、停止時間を設ける必要があるかもしれません。DB 変更用の SQL 文を予め用意して、止めている間にその SQL 文を実効して、バーチャルホストを変更して、という感じかなぁ。
その停止時間も嫌なら、旧 PHP プログラムで問題が発生しなような DB、プログラムの設計をして、DB を先にアップグレードして「旧プログラム」?「新 DB」の状態を作ってからコンテンツの修正、といった感じになると思います。
httpサーバにApacheをご利用なら、mod_rewriteを使ってリダイレクトするか、そもそもmod_aliasで指し示す物理パスを変更してしまえば実現可能です。
しかし、この方法はおすすめしません。
なぜなら /b/ は開発環境であり、それを丸ごと公開するというのはリスクが大きすぎます。
せっかく大規模改修するのでしたら、リンクは相対パスにして、本番環境と開発環境は共存できるようにすることをお勧めします。
サイトのメンテナンスは、以下の手順で行うことが多いです。