[Apache] Rewrite subdomain as subfolder

What You Want:

—————–/123/index.php ===> http://123.yourwebsite.com/
—————–/www/index.php ===> http://www.yourwebsite.com/
—————–/blog/index.php ===> http://blog.yourwebsite.com/
—————–/email/main/index.php ===> http://email.yourwebsite.com/main/

Set dns:

A (may be AAAA) * to your server’s IP address.

This is the rewrite code you should use:

RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond %{HTTP_HOST} ^(.*)\.yourwebsite\.com$
RewriteRule ^(.*)$     /path/to/www/root/${lowercase:%1}/$1 [L]


Options -Indexes

Will not working in this case. Since Apache can not find the subfolder if you hide them. All subdomains will return a 404 error.

在 “[Apache] Rewrite subdomain as subfolder” 上有 1 条评论

  1. apache – Redirect wildcard subdomains to subdirectory, without changing URL in address bar – Stack Overflow