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/<uri>