diff --git a/conf/app.ini b/conf/app.ini
index 6374c2423fa1..e0620f31d6c1 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -29,6 +29,8 @@ KEY_FILE = custom/https/key.pem
 STATIC_ROOT_PATH =
 ; Application level GZIP support
 ENABLE_GZIP = false
+; Landing page for non-logged users, can be "home" or "explore"
+LANDING_PAGE = home
 
 [database]
 ; Either "mysql", "postgres" or "sqlite3", it's your choice
diff --git a/modules/middleware/auth.go b/modules/middleware/auth.go
index fc8e94bbd0db..94bb1c14a453 100644
--- a/modules/middleware/auth.go
+++ b/modules/middleware/auth.go
@@ -29,6 +29,12 @@ func Toggle(options *ToggleOptions) macaron.Handler {
 			return
 		}
 
+		// Checking non-logged users landing page.
+		if !ctx.IsSigned && ctx.Req.RequestURI == "/" && setting.LandingPageUrl != setting.LANDING_PAGE_HOME {
+			ctx.Redirect(string(setting.LandingPageUrl))
+			return
+		}
+
 		// Redirect to dashboard if user tries to visit any non-login page.
 		if options.SignOutRequire && ctx.IsSigned && ctx.Req.RequestURI != "/" {
 			ctx.Redirect(setting.AppSubUrl + "/")
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index cf34c2edc639..a775847c1fbb 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -31,6 +31,13 @@ const (
 	FCGI  Scheme = "fcgi"
 )
 
+type LandingPage string
+
+const (
+	LANDING_PAGE_HOME    LandingPage = "/"
+	LANDING_PAGE_EXPLORE LandingPage = "/explore"
+)
+
 var (
 	// App settings.
 	AppVer    string
@@ -48,6 +55,7 @@ var (
 	CertFile, KeyFile  string
 	StaticRootPath     string
 	EnableGzip         bool
+	LandingPageUrl     LandingPage
 
 	// Security settings.
 	InstallLock          bool
@@ -197,6 +205,13 @@ func NewConfigContext() {
 	LogRootPath = Cfg.MustValue("log", "ROOT_PATH", path.Join(workDir, "log"))
 	EnableGzip = Cfg.MustBool("server", "ENABLE_GZIP")
 
+	switch Cfg.MustValue("server", "LANDING_PAGE", "home") {
+	case "explore":
+		LandingPageUrl = LANDING_PAGE_EXPLORE
+	default:
+		LandingPageUrl = LANDING_PAGE_HOME
+	}
+
 	InstallLock = Cfg.MustBool("security", "INSTALL_LOCK")
 	SecretKey = Cfg.MustValue("security", "SECRET_KEY")
 	LogInRememberDays = Cfg.MustInt("security", "LOGIN_REMEMBER_DAYS")