I need to rewrite a subdomain to a subdirectory using .htaccess but keep the subdomain in the url like this:
Visited url in browser: sub1.domain.com
You can use this rule in document root:
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteRule ^((?!sub1/).*)$ /sub1/$1 [L,NC]
Explanation:
NC: Ignore caseL: Last ruleRewriteCond %{HTTP_HOST} line makes sure that rule only executes for subdomain (?!sub1/) is negative lookahead expression that means of request is not starting with /sub1/RewriteRule ^((?!sub1/).*)$ /sub1/$1 [L,NC] rewrites current path to /sub1/