

Angular JS Gotcha: HTML5 Mode Routing - pairing
http://blog.releaseboard.com/2013/12/angular-js-gotcha-2-html5-mode.html

======
egeozcan
This isn't some magic from AngularJS, it is a standard HTML5 API and it's been
around for a while. It is designed to allow single page applications to use
beautiful URLs. So, this isn't an AngularJS gotcha. Not at all. You can read
more about it here:
[http://diveintohtml5.info/history.html](http://diveintohtml5.info/history.html)

~~~
harryf
And here...

> The reason why refreshing your browser breaks HTML5 mode is that all the
> routes in your AngularJS application are not real. Release[Board] doesn't
> have a /releases page. AngularJS is using some clever JavaScript to make it
> seem like a /releases page exists. When the user hits refresh, the browser
> tries to load a real /releases page, which is non existent. I find this a
> completely unacceptable user experience.

...isn't this a case of "Duh. What did you expect to happen?"

~~~
sil3ntmac
Yep. and the simple solution is a server-side wildcard route.

------
nateabele
Here: [https://github.com/angular-ui/ui-router/wiki/Frequently-
Aske...](https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-
Questions#how-to-configure-your-server-to-work-with-html5mode)

You're welcome.

------
a_soncodi
Switching between HTML5 and 'hashbang' URLs lets you run apps in environments
which lack support the history API or absolute URLs. Examples include old IE
and Cordova. The bit of webserver config necessary is a non-issue, imo.

------
strommen
So what you're saying is...when you set the URL to something that no longer
points to a Resource, it no longer works?

Who could have guessed that undermining a basic concept of the Web might cause
problems.

