An example of what I'm trying to do can be seen here:http://www.codeandtheory.com/#/about/
When any other link is clicked, it smoothly loads the next page. I have read that using /#!/ is better than /#/ so How would I add /#!/ to my website so I can use ajax to load my pages?
Is there any fallback in case a site visitor does not have javascript enabled?
Modern browsers support HTML5 pushState to update the url. What you are talking about is Google's hash Bang.
Fallback is to set the links normally from the backend template, and then rewrite them with # in JavaScript if it is enabled. That way links still are usable for non JS/crawlers.
You need to setup your paths so that they are usable with or without JS:
/#/about
/about
Link to same place. So if the link has been rewritten to the # format, it won't trigger a refresh, but instead trigger a JS AJAX load of that location.