blob: d54047cd54b2932fd499ed1fa46bfdd31293dbdf [file] [log] [blame]
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Rewrite Domains</title>
<link rel="stylesheet" href="doc.css">
</head>
<body>
<!--#include virtual="_header.html" -->
<div id=content>
<h1>Rewrite Domains</h1>
<h2>Configuration</h2>
<p>
The 'Rewrite Domains' filter is enabled by specifying:
<dl>
<dt>Apache:<dd><pre class="prettyprint"
>ModPagespeedEnableFilters rewrite_domains</pre>
<dt>Nginx:<dd><pre class="prettyprint"
>pagespeed EnableFilters rewrite_domains;</pre>
</dl>
<p>
in the configuration file. The filter is not enabled by default and
should be added manually to the configuration file.
</p>
<p>
<a name="DomainRewriteHyperlinks"></a>
By default <code>rewrite_domains</code> only applies to resources, but it can
optionally rewrite domains in hyperlinks as well:
</p>
<dl>
<dt>Apache:<dd><pre class="prettyprint"
>ModPagespeedDomainRewriteHyperlinks on</pre>
<dt>Nginx:<dd><pre class="prettyprint"
>pagespeed DomainRewriteHyperlinks on;</pre>
</dl>
<h2>Description</h2>
<p>
This filter applies all <a href="domains">domain mapping
directives</a> specified in pagespeed.conf to web resources that
are <strong>not</strong> otherwise rewritten by PageSpeed. For
example, if a resource is not cacheable, or filters which affect the
resource are turned off, then it still may be desirable to apply
domain sharding. (Domain sharding is not applied to hyperlinks even if <code><a
href="#DomainRewriteHyperlinks">DomainRewriteHyperlinks</a></code> is enabled.)
</p>
<h2>Requirements</h2>
<p>It is the responsibility of the site administrator to set up the
shard entries in their DNS or CNAME configuration. Also, please see
the <a href="domains#equiv_servers">note</a> about the servers
for rewrite domains &mdash; this applies to sharded domains as well. The
sharded domains must have access to the same content as the original
domain.
</p>
<h2>Risks</h2>
<p>
It is the responsbility of the site administrator to ensure that moving
resources onto domains does not create a security vulnerability. In particular,
if the target domain has cookies, then any JavaScript loaded from a resource
moved to a domain with cookies will gain access to those cookies. In general,
moving resources to a cookieless domain is a great way to improve security. Be
aware that CSS can load JavaScript in certain environments.
</p>
</div>
<!--#include virtual="_footer.html" -->
</body>
</html>