diff --git a/local/download_database.sh b/local/download_database.sh old mode 100644 new mode 100755 diff --git a/local/resetdb.sh b/local/resetdb.sh old mode 100644 new mode 100755 diff --git a/src/hmnurl/urls.go b/src/hmnurl/urls.go index f2be182..feba779 100644 --- a/src/hmnurl/urls.go +++ b/src/hmnurl/urls.go @@ -439,7 +439,7 @@ var RegexWikiArticle = regexp.MustCompile(`^/wiki/(?P\d+)(-([^/]+))?$` * Blog */ -var RegexBlogsRedirect = regexp.MustCompile(`^/blogs`) +var RegexBlogsRedirect = regexp.MustCompile(`^/blogs(?P.*)`) var RegexBlog = regexp.MustCompile(`^/blog(/(?P\d+))?$`) diff --git a/src/website/routes.go b/src/website/routes.go index 96ca312..de30daa 100644 --- a/src/website/routes.go +++ b/src/website/routes.go @@ -224,6 +224,12 @@ func NewWebsiteRoutes(longRequestContext context.Context, conn *pgxpool.Pool, pe mainRoutes.POST(hmnurl.RegexBlogPostEdit, authMiddleware(csrfMiddleware(BlogPostEditSubmit))) mainRoutes.GET(hmnurl.RegexBlogPostDelete, authMiddleware(BlogPostDelete)) mainRoutes.POST(hmnurl.RegexBlogPostDelete, authMiddleware(csrfMiddleware(BlogPostDeleteSubmit))) + mainRoutes.GET(hmnurl.RegexBlogsRedirect, func(c *RequestContext) ResponseData { + return c.Redirect(hmnurl.ProjectUrl( + fmt.Sprintf("blog%s", c.PathParams["remainder"]), nil, + c.CurrentProject.Slug, + ), http.StatusMovedPermanently) + }) mainRoutes.GET(hmnurl.RegexPodcast, PodcastIndex) mainRoutes.GET(hmnurl.RegexPodcastEdit, PodcastEdit)