diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 864e8b1..3b3f4bb 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -119,7 +119,11 @@ class PagesController < ApplicationController end render :html => render_final_page("#{module_app}/#{params[:target_action]}",page,layout).html_safe else - render :file => "#{Rails.root}/public/404.html", :layout => false, :status => :not_found + if Site.first.enable_redirect_index + redirect_to root_url + else + render :file => "#{Rails.root}/public/404.html", :layout => false, :status => :not_found + end end else render :file => "#{Rails.root}/public/404.html", :layout => false, :status => :not_found diff --git a/app/models/site.rb b/app/models/site.rb index ed4f3c7..f58d7ba 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -23,6 +23,7 @@ class Site field :mobile_api_openness_on, :type => Boolean, :default => false field :desktop_closed, :type => Boolean, :default => false field :enable_language_detection, :type => Boolean, :default => false + field :enable_redirect_index, :type => Boolean, :default => false field :enable_zh_cn, :type => Boolean, :default => true field :default_locale, :default => "zh_tw" field :mobile_on, :type => Boolean, :default => false diff --git a/app/views/admin/sites/preference.html.erb b/app/views/admin/sites/preference.html.erb index e959128..e5531d1 100644 --- a/app/views/admin/sites/preference.html.erb +++ b/app/views/admin/sites/preference.html.erb @@ -185,6 +185,14 @@ +