Rewrite Rules For Apache
From dghartung.com/docs
Media:Mod_rewrite_cheat_sheet.pdf
~ <VirtualHost *:80>
~ ServerAdmin webmaster@dummy-host.example.com
~ DocumentRoot /usr/local/apache2/htdocs
~ ServerName 192.168.1.170
~ ErrorLog logs/dummy-host.example.com-error_log
~ CustomLog logs/dummy-host.example.com-access_log common
~ # rewrite environment This is for automatic https://
~ RewriteEngine on
~ # redirect http to https
~ # If you don't try to access https, then redirect to https
~ RewriteCond %{SERVER_PORT} !^443$
~ RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 L,R?
~
~ </VirtualHost?>
Canonical Hostnames
Description:
The goal of this rule is to force the use of a particular hostname, in = preference to other hostnames which may be used to reach the same site. = For example, if you wish to force the use of www.example.com instead of = example.com, you might use a variant of the following recipe. Solution:
For sites running on a port other than 80
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) = http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
And for a site running on port 80
RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]
Working Example:
<VirtualHost *:80>
ServerName fw.dghartung.com
ServerName barton.dghartung.com
ServerName server.dghartung.com
ServerName dghartung.com
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.dghartung.com$ [NC]
RewriteRule ^/(.*) http://www.dghartung.com/$1 [L,R]
</VirtualHost>
