sling:redirect does not respect sling:status
--------------------------------------------
Key: SLING-1324
URL: https://issues.apache.org/jira/browse/SLING-1324
Project: Sling
Issue Type: Bug
Components: Servlets
Affects Versions: Servlets Get 2.0.2, Servlets Get 2.0.4, Servlets Get
2.0.6, Servlets Get 2.0.8, Servlets Get 2.0.10
Reporter: Andrew Khoury
Priority: Minor
When you set a sling:status=301 for a sling:redirect it ignores this and uses a
302 instead:
1. Configure /etc/map configuration and a sling:redirect like this
curl -F "jcr:primaryType=sling:Mapping" -F "sling:redirect=/foo.html" -F
"sling:status=301" -F "sling:match="[^/]+/redirect-test.html"
http://admin:ad...@localhost:8080/etc/map/http/redirect-test
curl -F "sling:resourceType=sling:redirect" -F "sling:target=/foo.html" -F
"sling:status=301" http://admin:ad...@localhost:8080/test
curl -X POST http://admin:ad...@localhost:8080/foo
Go to the resource resolver page of /system/console to see the /etc/map mapping
showing the 301
http://localhost:8080/system/console/jcrresolver
Mapping shown on jcrresolver page:
^http/[^/]+/redirect-test.html /foo.html external: 301
curl -v http://admin:ad...@localhost:8080/redirect-test
* About to connect() to localhost port 8080 (#0)
* Trying ::1... connected
* Connected to localhost (::1) port 8080 (#0)
* Server auth using Basic with user 'admin'
> GET /test2 HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4
> OpenSSL/0.9.8k zlib/1.2.3
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 302 Found
< Location: http://localhost:8080/foo.html
< Content-Length: 0
< Server: Jetty(6.1.x)
<
* Connection #0 to host localhost left intact
* Closing connection #0
curl -v http://admin:ad...@localhost:8080/redirect-test.html
* About to connect() to localhost port 8080 (#0)
* Trying ::1... connected
* Connected to localhost (::1) port 8080 (#0)
* Server auth using Basic with user 'admin'
> GET /redirect-test.html HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4
> OpenSSL/0.9.8k zlib/1.2.3
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 302 Found
< Location: http://localhost:8080/foo.html
< Content-Length: 0
< Server: Jetty(6.1.x)
<
* Connection #0 to host localhost left intact
* Closing connection #0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.