Wednesday, September 1, 2010

Apache rewrites

In the virtualhost

<VirtualHost *:80>
ServerName domain1.com
ServerAlias *.domain1.com
DocumentRoot /path_to_documentroot
ErrorDocument 404 /path_to_documentroot
ErrorDocument 403 /path_to_documentroot
RewriteEngine on
redirectMatch 301 ^/$ http://www.domain2.com     ... this one only redirects the page itself ... no subdirectories
##redirectMatch 301 ^(.*)$ http://www.domain2.com  ... this one redirects the main page and all subpages
ErrorLog logs/domain1.com_error_log
CustomLog logs/domain1.com_log common
AddType application/x-httpd-php .php .php4 .php3 .phtml .htm .html .cmh
</VirtualHost>

In .htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_URI} ^/subdirectory1/(.*)$
RewriteRule ^(.*)  http://www.domain2.com/subdirectorynew [R=301,L]

RewriteCond %{REQUEST_URI} ^/subdirectory2/(.*)$
RewriteRule ^(.*)  http://www.domain2.com/subdirectorynew [R=301,L]