Apache
Improving Apache's canonical hostname rewrite rules
According the the Apache URL rewriting guide, the way to handle Canonical Hostnames is like this:
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]
Well, those rules are not always sufficient. Specifically, what if you also owned the www.example.com.au domain, and wished to redirect it also to the primary www.example.com domain? The solution is simple - we just need to add a single $ character to the end of the match-pattern of the first RewriteCond like this:
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]
Now that will work nicely as long as the hosts use standard ports (ie 80 for HTTP, and 443 for HTTPS). However, some Python versions unnecessarily append the standard HTTPS port number to the Host HTTP header. Also I discovered today (after some Apache debug logging) that Adobe AIR applications have the exact same misbehavior for HTTPS, but only when running under Mac OS X.
Recent comments
7 weeks 2 days ago
8 weeks 2 days ago
11 weeks 1 day ago
17 weeks 5 days ago
17 weeks 5 days ago
17 weeks 5 days ago
19 weeks 1 day ago
21 weeks 4 days ago
21 weeks 4 days ago
21 weeks 4 days ago