[ 
https://issues.apache.org/jira/browse/SLING-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13130579#comment-13130579
 ] 

Alexander Klimetschek commented on SLING-2251:
----------------------------------------------

An (untested) patch would be - at the end of toRedirect(), lines 230-237 - 
simply return the result of the mapping:

return request.getResourceResolver().map(request, target.toString());

AFAIK, the resource resolver's map method (with request object) already does 
the necessary logic to create a relative path if the request domain matches the 
mapping domain, and an absolute path if it differs.
                
> RedirectServlet should create relative Location headers as often as possible
> ----------------------------------------------------------------------------
>
>                 Key: SLING-2251
>                 URL: https://issues.apache.org/jira/browse/SLING-2251
>             Project: Sling
>          Issue Type: Improvement
>          Components: Servlets
>    Affects Versions: Servlets Get 2.1.2
>            Reporter: Alexander Klimetschek
>
> SLING-1965 (more specifically 
> http://svn.apache.org/viewvc?view=revision&revision=903175 ) changed the 
> redirect servlet so that it _always_ generates an absolute location header. 
> The issue does not give much reasoning for that.
> The problem is that this breaks cases where a Sling server is run behind a 
> proxy (which does not or cannot rewrite the Location header), as the redirect 
> ("http://localhost:8080/some/path";) might not match the externally visible 
> domain (e.g. "https://my.domain.com";). Also, the schema is fixed (e.g. might 
> switch external https back to http).
> A solution would be to generate absolute URLs only if a resource resolver 
> mapping (/etc/map) includes an explicit domain and thus generates an absolute 
> URL. For all other cases, relative URLs should be generated. AFAICS, this was 
> the case before SLING-1965.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to