Apache Sling URL Rewriter

Clone this repo:
  1. 29ae367 SLING-12459 - Redirect sonarcloud notifications to commits@apache.sling.org by Robert Munteanu · 5 weeks ago master
  2. b95db37 SLING-12094 - Use GitHub for the Maven scm.url value by Robert Munteanu · 1 year, 2 months ago
  3. 3a42b74 SLING-11709 - Set up Jira autolinks to all Sling Github projects by Robert Munteanu · 1 year, 8 months ago
  4. 3b04b46 SLING-11051 - Fixing JavaDoc badge by Dan Klco · 2 years, 11 months ago
  5. d9a36da SLING-10676 - remove SECURITY.md which is not needed by Bertrand Delacretaz · 3 years, 4 months ago

Apache Sling

Build Status Coverage Sonarcloud Status JavaDoc Maven Central Contrib License

Apache Sling URL Rewriter

This module is part of the Apache Sling project.

multi-purpose service for altering HTTP requests/responses based on Tuckey's UrlRewriteFilter

example for setting a Cache-Control header:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
  <rule>
    <from>.*</from>
    <set type="response-header" name="Cache-Control">max-age=600</set>
  </rule>
</urlrewrite>

example for setting CORS headers:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
  <rule>
    <note>
      http://www.w3.org/TR/cors/
      https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
      http://fetch.spec.whatwg.org
      http://enable-cors.org
      http://www.html5rocks.com/en/tutorials/cors/
    </note>
    <condition type="header" name="Origin">.*</condition>
    <condition type="header" name="Access-Control-Request-Method">.*</condition>
    <condition type="header" name="Access-Control-Request-Headers">.*</condition>
    <set type="response-header" name="Access-Control-Allow-Origin">%{header:Origin}</set>
    <set type="response-header" name="Access-Control-Allow-Methods">%{header:Access-Control-Request-Method}</set>
    <set type="response-header" name="Access-Control-Allow-Headers">%{header:Access-Control-Request-Headers}</set>
    <set type="response-header" name="Access-Control-Allow-Credentials">true</set>
  </rule>
</urlrewrite>