Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The goal was to change all rendered html downstream from www.breakitdown.ca to www.supernaturalz.com.

Server Base URL Problem

This at least works in loading up the website, same issue with large images and most likely a host of other problems.

ProxyHTMLURLMap

Ok so ProxyHTMLURLMap does not work easily. The documentation searching in google is sub par and the examples do not seem to work.

...

Further to that it uses a SAX parser which implies that it expects good xml. I imagine the overhead to be quite high.

substitute

Looking around I found the substitue directive.

sudo a2enmod substitute

Code Block
langhtml
<Location /wiki/>

...


AddOutputFilterByType SUBSTITUTE text/html

...


Substitute s/www.breakitdown.ca/www.supernaturalz.com/ni

...


</Location>

And that did it!

Have not measured the performance hit yet.

substitute with mod_filter

Just noticed that AddOutputFilterByType is deprecated and it is recommended to use mod_filter. So enable it using a2enmod filter.

Note

Note this is Apache 2.2 syntax. Apache 2.3 has a new style of syntax.

Code Block
langhtml
<Location /wiki/>
    FilterDeclare filter_string_replace
    FilterProvider filter_string_replace SUBSTITUTE resp=Content-Type $text/
    Substitute "s/www.breakitdown.ca/www.myrapham.com/ni"
    Substitute "s/Break It Down/www.myrapham.com/n"
    FilterChain filter_string_replace
</Location>
Tip

This works!

Note

The resp=Content-Type part does not quite sit well with me as the start does not indicate a regular expression match and then it uses the $ symbol. However, the above exact syntax is used on the Apache documents as an example so I will leave this for now. 2.3 changes the syntax anyway.

References

http://brian.moonspot.net/mod-substitute-mod-proxy-problem - working example of multiple filters and the syntax is slightly different