{{tag>apache}} ====== Apache rewrite rule examples ====== ===== Rewrite from one domain to other including the trailing slash ===== RewriteCond %{REQUEST_URI} ^pdf\.example\.com(/*)$ [OR] RewriteRule ^ https://subdomain.newexample.com [NE,R=permanent] This will rewrite "pdf.example.com" and "pdf.example.com/" to "https://subdomain.newexample.com" every time. ===== Forcing www for a domain while preserving subdomains ===== RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.com$ [NC] RewriteCond %{HTTP_HOST} !^www. [NC] RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L] This rule captures the optional subdomain using the %1 variable, and, if it doesn’t start with www., redirects with www. prepended to the subdomain. The domain and the original {REQUEST_URI} are appended to the result. ===== Eliminating www from a domain ===== RewriteCond %{HTTP_HOST} !^example.com$ [NC] RewriteRule .? http://example.com%{REQUEST_URI} [R=301,L] ===== Getting rid of the www but preserving a subdomain ===== RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?example.com)$ [NC] RewriteRule .? http://%1%{REQUEST_URI} [R=301,L] Here, the subdomain is captured in %2 (the inner capture group) but, since it’s optional and already captured in the %1 variable, all you need is the %1 for the subdomain. More at https://www.sitepoint.com/apache-mod_rewrite-examples-2 ====== Tested on ====== * ====== See also ====== * [[wiki:apache_rewrite_hints|Apache rewrite hints]] ====== References ======