aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ng/location.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ng/location.js b/src/ng/location.js
index 9bb4d417..85f780e2 100644
--- a/src/ng/location.js
+++ b/src/ng/location.js
@@ -178,6 +178,11 @@ function LocationHashbangUrl(appBase, hashPrefix) {
throw $locationMinErr('ihshprfx', 'Invalid url "{0}", missing hash prefix "{1}".', url,
hashPrefix);
}
+
+ if (withoutHashUrl === '' && withoutBaseUrl.charAt(0) === '?') {
+ withoutHashUrl = withoutBaseUrl;
+ }
+
parseAppUrl(withoutHashUrl, this, appBase);
this.$$path = removeWindowsDriveName(this.$$path, withoutHashUrl, appBase);
@@ -228,10 +233,14 @@ function LocationHashbangUrl(appBase, hashPrefix) {
*/
this.$$compose = function() {
var search = toKeyValue(this.$$search),
- hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : '';
+ hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : '',
+ url = '';
this.$$url = encodePath(this.$$path) + (search ? '?' + search : '') + hash;
- this.$$absUrl = appBase + (this.$$url ? hashPrefix + this.$$url : '');
+ if (this.$$url) {
+ url = this.$$path ? hashPrefix + this.$$url : this.$$url;
+ }
+ this.$$absUrl = appBase + url;
};
this.$$rewrite = function(url) {