This repository has been archived by the owner on Apr 12, 2024. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
2bc62ce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@IgorMinar I read your description at the top of the page and followed it. I use latest angular version (v1.3.0-rc.0). First, it is not possible not to have base[href] when html5 mode is enabled. So I set it to the root (). And then I used absolute paths all over my application. But still when I do a refresh (ctrl+5) on a link that has anchor path, $location returns the anchor name as the path.
localhost:port/SearchUI/list will result in "list" request.