Index: src/main/java/info/magnolia/cms/filters/VirtualUriFilter.java =================================================================== --- src/main/java/info/magnolia/cms/filters/VirtualUriFilter.java (revision 38951) +++ src/main/java/info/magnolia/cms/filters/VirtualUriFilter.java (working copy) @@ -87,10 +87,11 @@ } else if (targetUri.startsWith("permanent:")) { String permanentUrl = StringUtils.substringAfter(targetUri, "permanent:"); + final String requestScheme = request.getScheme(); if(isInternal(permanentUrl)){ int serverPort = request.getServerPort(); - //No server port to set due to - if(serverPort == 80 || (serverPort == 443 && request.getScheme().equals("https"))){ + if((serverPort == 80 && "http".equals(requestScheme)) || + (serverPort == 443 && "https".equals(requestScheme))){ permanentUrl = new URL( request.getScheme(), request.getServerName(), @@ -117,7 +118,7 @@ if (request instanceof UnicodeNormalizationFilter.UnicodeNormalizerRequestWrapper) { request = ((UnicodeNormalizationFilter.UnicodeNormalizerRequestWrapper) request).getOriginal(); } - request.getRequestDispatcher(targetUri).forward(request, response); + request.getRequestDispatcher(targetUri).forward(request, response); return; } catch (Exception e) {