aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/web.go9
-rw-r--r--modules/setting/setting.go3
2 files changed, 12 insertions, 0 deletions
diff --git a/cmd/web.go b/cmd/web.go
index 83dfca4e67..a5ebf259ea 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -364,6 +364,15 @@ func runWeb(*cli.Context) {
r.Any("/:reponame/*", ignSignInAndCsrf, repo.Http)
})
+ // robots.txt
+ m.Get("/robots.txt", func(ctx *middleware.Context) {
+ if setting.HasRobotsTxt {
+ ctx.ServeFile(path.Join(setting.CustomPath, "robots.txt"))
+ } else {
+ ctx.Error(404)
+ }
+ })
+
// Not found handler.
m.NotFound(routers.NotFound)
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index a1ab43d022..67e48108d9 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -108,6 +108,7 @@ var (
ProdMode bool
RunUser string
IsWindows bool
+ HasRobotsTxt bool
)
func init() {
@@ -260,6 +261,8 @@ func NewConfigContext() {
Langs = Cfg.MustValueArray("i18n", "LANGS", ",")
Names = Cfg.MustValueArray("i18n", "NAMES", ",")
+
+ HasRobotsTxt = com.IsFile(path.Join(CustomPath, "robots.txt"))
}
var Service struct {