Reputation: 12363
I have a problem where I need to redirect my domain before it hits php. By the time it hits the ability to execute a header, it is too late.
How can I do
if (domain == 'www.example.com')
redirect www.domain.com;
in my .htaccess?
Upvotes: 14
Views: 33562
Reputation: 805
As of Apache 2.4 you can use an <If>
Directive to achieve what you suggested:
<If "req('Host') == 'www.example.com'">
RedirectMatch (.*) http://www.example2.com$1
</If>
For a case-insensitive version that matches with or without the www you can do:
<If "req('Host') =~ /example.com/i">
RedirectMatch (.*) http://www.example2.com$1
</If>
Sources:
Upvotes: 20
Reputation: 143856
Using mod_rewrite
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]
Upvotes: 21