用.htaccess将主域名指向子目录 cPanel

在cpanel操作中,主域名总是默认绑定在public_html目录下的,其他绑定的域名可以指定在public_html下面任意目录中,如果有多个网站,会使得其他网站的目录和主域名网站的文件混排在一起,管理多个域名就变得非常混乱了。所以如果把主域名单独一个文件夹,和其它的附加域一样同在public_html下就一目了然方便管理。 cpanel本身不能做到,解决此方法,htaccess这时就发挥它的强大功能了。方法如下:

1.  在public_html中建立.htaccess文件;
2.  在public_html中建立一个文件夹,主域名下的文件均在此文件夹中;
3.  在.htaccess中输入以下内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?主域名$
RewriteCond %{REQUEST_URI} !^/主域名/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /主域文件夹/$1
RewriteCond %{HTTP_HOST} ^(www.)?主域文件夹$
RewriteRule ^(/)?$主域文件夹/index.php [L]

补充:一个更好的解决办法,在绑定其他域名的时候,直接将域名绑定在和public_html同级别的目录下,不要被cpanel的默认绑定路径给误导了。