用.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的默认绑定路径给误导了。


发表评论?

2 条评论。

  1. 最后两行写错了
    RewriteCond %{HTTP_HOST} ^(www.)?主域名$
    #应该是写域名
    RewriteRule ^(/)?$ 主域文件夹/index.php [L]
    #中间少了一个空格

  2. I was serosuily at DefCon 5 until I saw this post.

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>