aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Ugnich Anton2014-04-19 17:45:51 +0700
committerGravatar Ugnich Anton2014-04-19 17:45:51 +0700
commit7e09c7c6b5ad1a3000b7e3ddceca5da2b654df6d (patch)
treea1086c7dacd7f6f0c5dabd0b0ac1fe903d3c59f4
parent03896ca1b912786a16017d745d5d49c6ca1e3b94 (diff)
Tags name case redirect
-rw-r--r--src/java/com/juick/http/www/Discover.java17
-rw-r--r--src/java/com/juick/http/www/User.java4
2 files changed, 13 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;
diff --git a/src/java/com/juick/http/www/User.java b/src/java/com/juick/http/www/User.java
index ca5c122f..b584494e 100644
--- a/src/java/com/juick/http/www/User.java
+++ b/src/java/com/juick/http/www/User.java
@@ -57,6 +57,10 @@ public class User {
if (paramTag == null) {
Errors.doGet404(sql, request, response);
return;
+ } else if (!paramTag.Name.equals(paramTagStr)) {
+ String url = "/" + user.UName + "/?tag=" + URLEncoder.encode(paramTag.Name, "UTF-8");
+ Utils.sendPermanentRedirect(response, url);
+ return;
}
}