Redirect a subdomain with apache mod_rewrite and keep the URL in the address bar

If you want to redirect a subdomain like sub.domain.tld into a subdirectory of the website and keep the original URL in the browser location bar, you may use the following apache directives.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.tld [NC]
RewriteRule ^/(.*)$ /sub/$1 [L]

This rewrite rule can be added into a .htaccess file in the website root or inside the vhost file. If you use ISPConfig 2 or 3, you can add this also into the apache directives field in the website settings.

Replace sub.domain.tld with the subdomain that shall be redirected and /sub/ with the path to the directory were the pages for this subdomain are located.


5 thoughts on “Redirect a subdomain with apache mod_rewrite and keep the URL in the address bar”

  1. What about main subdomain, will it work or do I have to give always argument?

  2. Till says:

    The rewrite rule should work for any domain name, it does not matther if its a second or third level domain.

  3. Rickkee says:

    I too find this to be a bogus rule and does not work

    1. Till says:

      The rule works fine. If it downt work on your system then you either made a typo somewhere or you specified a wrong (sub)domain.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>