Browse Source

#2229 adjust URL verbose depth for reverse proxy sub-path

Unknwon 9 years ago
parent
commit
4848620594
5 changed files with 15 additions and 10 deletions
  1. 1 1
      README.md
  2. 1 1
      gogs.go
  3. 3 1
      modules/base/markdown.go
  4. 9 6
      modules/setting/setting.go
  5. 1 1
      templates/.VERSION

+ 1 - 1
README.md

@@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
 
 ![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
 
-##### Current version: 0.8.25
+##### Current version: 0.8.26
 
 | Web | UI  | Preview  |
 |:-------------:|:-------:|:-------:|

+ 1 - 1
gogs.go

@@ -17,7 +17,7 @@ import (
 	"github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.8.25.0131"
+const APP_VER = "0.8.26.0131"
 
 func init() {
 	runtime.GOMAXPROCS(runtime.NumCPU())

+ 3 - 1
modules/base/markdown.go

@@ -21,6 +21,8 @@ import (
 	"github.com/gogits/gogs/modules/setting"
 )
 
+// TODO: put this into 'markdown' module.
+
 func isletter(c byte) bool {
 	return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
 }
@@ -187,7 +189,7 @@ func cutoutVerbosePrefix(prefix string) string {
 		if prefix[i] == '/' {
 			count++
 		}
-		if count >= 3 {
+		if count >= 3+setting.AppSubUrlDepth {
 			return prefix[:i]
 		}
 	}

+ 9 - 6
modules/setting/setting.go

@@ -48,12 +48,13 @@ var (
 	BuildGitHash string
 
 	// App settings
-	AppVer      string
-	AppName     string
-	AppUrl      string
-	AppSubUrl   string
-	AppPath     string
-	AppDataPath = "data"
+	AppVer         string
+	AppName        string
+	AppUrl         string
+	AppSubUrl      string
+	AppSubUrlDepth int // Number of slashes
+	AppPath        string
+	AppDataPath    = "data"
 
 	// Server settings
 	Protocol           Scheme
@@ -299,7 +300,9 @@ func NewContext() {
 	if err != nil {
 		log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppUrl, err)
 	}
+	// Suburl should start with '/' and end without '/', such as '/{subpath}'.
 	AppSubUrl = strings.TrimSuffix(url.Path, "/")
+	AppSubUrlDepth = strings.Count(AppSubUrl, "/")
 
 	Protocol = HTTP
 	if sec.Key("PROTOCOL").String() == "https" {

+ 1 - 1
templates/.VERSION

@@ -1 +1 @@
-0.8.25.0131
+0.8.26.0131