fragment の有無で処理を分けられない気がする

マジレスすると、URI のフラグメントって、Webサーバにはわたらないので無理。すくなくとも Internet Explorer, Firefox, Opera ではそう。
JavaScript でがんばればできるといえばできるけど。