You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
fix($location): default to / for the url base if no base[href]
With the recent refactoring of $location service we changed this behavior
resulting in a regression.
Previously we thought that html5 mode always required base[href]
to be set in order for urls to resolve properly. It turns out that
base[href] is problematic because it makes anchor urls (#foo) to
always resolve to the base url, which is almost always incorrect
and results in all anchors links and other anchor urls (e.g. svg
references) to be broken.
For this reason, we should now start recommending that people just
deploy to root context (/) and not set the base[href] when using
the html5 mode (push/pop history state).
If it's impossible to deploy to the root context then either all
urls in the app must be absolute or base[href] must be set with the
caveat that anchor urls in such app won't work.
Closes#2762
also Closes #2799? Though I suggest also allowing setting of appBase from $locationProvider then an application can configure app base without using base[href], as suggested by @jeme in #2799
A Note to those who build the bleeding edge to get this commit, and are also using $routeProvider. this commit and on contain a refactoring of the $routeProvider into it's own module. you'll have to add angular-route.js to your project and also add ngRoute as a dependency to your app.
2 commit comments
fessyfoo commentedon Jun 27, 2013
also Closes #2799? Though I suggest also allowing setting of appBase from $locationProvider then an application can configure app base without using base[href], as suggested by @jeme in #2799
fessyfoo commentedon Jun 28, 2013
A Note to those who build the bleeding edge to get this commit, and are also using $routeProvider. this commit and on contain a refactoring of the $routeProvider into it's own module. you'll have to add angular-route.js to your project and also add ngRoute as a dependency to your app.