por ejemplo, mi subdominio es abc.example.com
mi carpeta es /htdocs/abcfiles
mi requisito es cuando accedo a la url http://abc.example.com . mostrará la página web de la carpeta "abcfiles/".
mi archivo .htaccess
RewriteEngine On RewriteCond %{HTTP_HOST} ^abc.example.com$ RewriteCond %{REQUEST_URI} !^/abcfiles/ RewriteRule (.*) /abcfiles/$1 [L] RewriteBase /abcfiles/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /abcfiles/index.php [L]Está funcionando pero se muestra "/abcfiles/" en algunos enlaces. es decir, abc.example.com/abcfiles/...
Puede tener este código en la raíz del sitio .htaccess:
RewriteEngine On # if /abcfiles/ is in URL then remove it RewriteCond %{THE_REQUEST} \s/abcfiles/(\S*) [NC] RewriteRule ^ /%1 [L,NE,R=301] # if hostname starts with abc. then route the request to abcfiles/ RewriteCond %{HTTP_HOST} ^abc\. [NC] RewriteCond %{REQUEST_URI} !^/abcfiles/ [NC] RewriteRule (.*) abcfiles/$1 [L] Tenga este código en abcfiles/.htaccess :
RewriteEngine On RewriteRule ^index\.php$ - [L,NC] # route every request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L]