Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redirect any sub domain to a page on main domain

Just a quicky really. I want to be able to redirect anybody who types a subdomain.mydomain.com to be redirected to a page on my main domain. i.e If I typed: answers.mydomain.com I would be redirected to mydomain.com/suberror for instance.

I would like this to be a universal rule if possible because I thought it would be easier to add statements to exclude any subdomains that I didn't want to be redirected rather than add statements to include every other subdomain. I will need to this using a .htaccess file by the way.

like image 712
Andy Avatar asked Jan 04 '12 16:01

Andy


People also ask

Can you redirect subdomain?

Under Modify a Subdomain, locate the domain you want to redirect, then click its Manage Redirection link on the right. In the text box, type the URL you would like visitors to be redirected to if they go to the subdomain sample1.hgexample.com. Click Save. You will see the redirected URL under the Redirection column.

How do I redirect a domain to a specific page?

Type: Permanent. Choose the domain to redirect from the pulldown menu. If you only wish to redirect a specific page, enter it into the box to the right of the slash (example: mysite.com/page1.html) In Redirect to, enter the destination address.


1 Answers

Try adding this to an appropriate place in your .htaccess file:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^answers\.mydomain\.com$   [NC]
RewriteRule ^ http://mydomain.com/suberror  [L,R]

As long as the requested host is answers.mydomain.com, the rule will be applied. With the regex match set to ^, any URI will match and the target will be redirected to http://mydomain.com/suberror

If you want only specific URI requests to be redirected to /suberror, you can tweak the ^ to something appropriate.

EDIT:

For all subdomains (including www.mydomain.com):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$   [NC]
RewriteRule ^ http://mydomain.com/suberror  [L,R]

To exclude www.mydomain.com, add this line before the RewriteRule:

RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$  [NC]
like image 177
Jon Lin Avatar answered Jan 01 '23 05:01

Jon Lin