How are they doing that?
They are changing the url in the browser without using hash like # characters and stuff like that. And without refreshing, just ajax 😐
The URLs look like normal URLs,
you can go from the homepage directly to
http://www.beatport.com/genre/psy-trance/13
without page refresh
You can do it using the History API.
http://diveintohtml5.ep.io/history.html
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history