Apache Sling URL Rewriter

Clone this repo:
  1. 6aaa128 Adding sonarqube badges as per SLING-9682 by Dan Klco · 3 months ago master
  2. 99b6ee8 Updating badges for org-apache-sling-urlrewriter by Radu Cotescu · 3 months ago
  3. d9aac8c SLING-7157 : metatype.properties file must not be in OSGI-INF/metatype by Carsten Ziegeler · 7 months ago
  4. 4985b7d Updating badges for org-apache-sling-urlrewriter by Radu Cotescu · 1 year, 10 months ago
  5. dd9a43b SLING-7245 - Validate pull requests using Jenkins by Robert Munteanu · 1 year, 10 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>