diff --git a/app/assets/javascripts/discourse.js b/app/assets/javascripts/discourse.js index 96f4c90c6..5b16593a8 100644 --- a/app/assets/javascripts/discourse.js +++ b/app/assets/javascripts/discourse.js @@ -16,13 +16,10 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, { // if it's a non relative URL, return it. if (url !== '/' && !/^\/[^\/]/.test(url)) return url; - var u = Discourse.BaseUri === undefined ? "/" : Discourse.BaseUri; + if (url.indexOf(Discourse.BaseUri) !== -1) return url; + if (url[0] !== "/") url = "/" + url; - if (u[u.length-1] === '/') u = u.substring(0, u.length-1); - if (url.indexOf(u) !== -1) return url; - if (u.length > 0 && url[0] !== "/") url = "/" + url; - - return u + url; + return Discourse.BaseUri + url; }, getURLWithCDN: function(url) { diff --git a/app/assets/javascripts/discourse/lib/discourse-location.js.es6 b/app/assets/javascripts/discourse/lib/discourse-location.js.es6 index b7299f2c0..a126bf783 100644 --- a/app/assets/javascripts/discourse/lib/discourse-location.js.es6 +++ b/app/assets/javascripts/discourse/lib/discourse-location.js.es6 @@ -62,11 +62,9 @@ const DiscourseLocation = Ember.Object.extend({ */ getURL() { const location = get(this, 'location'); - let rootURL = (Discourse.BaseUri === undefined ? "/" : Discourse.BaseUri); let url = location.pathname; - rootURL = rootURL.replace(/\/$/, ''); - url = url.replace(rootURL, ''); + url = url.replace(Discourse.BaseUri, ''); const search = location.search || ''; url += search; diff --git a/app/assets/javascripts/discourse/router.js.es6 b/app/assets/javascripts/discourse/router.js.es6 index fc2a6f879..950e78cb8 100644 --- a/app/assets/javascripts/discourse/router.js.es6 +++ b/app/assets/javascripts/discourse/router.js.es6 @@ -1,4 +1,4 @@ -const rootURL = Discourse.BaseUri && Discourse.BaseUri !== "/" ? Discourse.BaseUri : undefined; +const rootURL = Discourse.BaseUri; const BareRouter = Ember.Router.extend({ rootURL, diff --git a/app/models/admin_dashboard_data.rb b/app/models/admin_dashboard_data.rb index 33e34d9ff..5cfa8bea2 100644 --- a/app/models/admin_dashboard_data.rb +++ b/app/models/admin_dashboard_data.rb @@ -62,7 +62,7 @@ class AdminDashboardData :failing_emails_check, :default_logo_check, :contact_email_check, :send_consumer_email_check, :title_check, :site_description_check, :site_contact_username_check, - :notification_email_check + :notification_email_check, :subfolder_ends_in_slash_check add_problem_check do sidekiq_check || queue_size_check @@ -201,4 +201,8 @@ class AdminDashboardData I18n.t('dashboard.ruby_version_warning') if RUBY_VERSION == '2.0.0' and RUBY_PATCHLEVEL < 247 end + def subfolder_ends_in_slash_check + I18n.t('dashboard.subfolder_ends_in_slash') if Discourse.base_uri =~ /\/$/ + end + end diff --git a/app/views/common/_discourse_javascript.html.erb b/app/views/common/_discourse_javascript.html.erb index 60bd01460..813581924 100644 --- a/app/views/common/_discourse_javascript.html.erb +++ b/app/views/common/_discourse_javascript.html.erb @@ -35,7 +35,7 @@