diff options
Diffstat (limited to 'src/java/com/juick/http/www/Discover.java')
-rw-r--r-- | src/java/com/juick/http/www/Discover.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/java/com/juick/http/www/Discover.java b/src/java/com/juick/http/www/Discover.java index 747a3947..fec0c117 100644 --- a/src/java/com/juick/http/www/Discover.java +++ b/src/java/com/juick/http/www/Discover.java @@ -38,17 +38,18 @@ public class Discover { protected void doGet(Connection sql, Connection sqlSearch, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { com.juick.User visitor = Utils.getVisitorUser(sql, request, response); - String requesturi = request.getRequestURI(); - - com.juick.Tag paramTag = null; - String paramTagStr = null; - if (requesturi.startsWith("/tag/")) { - paramTagStr = URLDecoder.decode(request.getRequestURI().substring(5), "UTF-8"); - paramTag = TagQueries.getTag(sql, paramTagStr, false); - } + String paramTagStr = URLDecoder.decode(request.getRequestURI().substring(5), "UTF-8"); + com.juick.Tag paramTag = TagQueries.getTag(sql, paramTagStr, false); if (paramTag == null) { Errors.doGet404(sql, request, response); return; + } else if (!paramTag.Name.equals(paramTagStr)) { + String url = "/tag/" + paramTag.Name; + if (request.getQueryString() != null) { + url += "?" + request.getQueryString(); + } + Utils.sendPermanentRedirect(response, url); + return; } int paramBefore = 0; |