aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/juick/http/www/Discover.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/com/juick/http/www/Discover.java')
-rw-r--r--src/java/com/juick/http/www/Discover.java17
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;