在开通的以cPanel控制面板为管理平台的主机账户下,往往开通空间时填写绑定的主域名默认是指向到/public_html/目录。但在cPanel中的“子域”或“附加域”中添加的其他主域名和二级域名,则是默认指向/public_html/目录下的子目录的。例如:建立blog.wphao.com二级域名时,默认是生成一个/public_html/blog 的对应目录,这样一来就会使得其他网站的文件目录和主域名网站的文件目录混合显示了。建立多个站点后/public_html/目录下就显示成下面的结构了:
/public_html
/blog
/newsite01
/newsite02
/newsite03
/wp-admin
/wp-content
/wp-includes
/index.php
/wp-activate.php
使得新站点blog、newsite01、newsite02、newsite03 文件夹和主域名对应的网站文件混合了,相对比较不方便管理。
解决以上文件层次结构的方法较多,这里介绍2个最简单直接的方法。
解决方法1:
在cPanel中添加新域名时,不要使用默认的目录结构 public_html/newsite01;而是自定义一个,去掉前面的public_html/,结构如下: newsite01,这样就可以保证你新建的域名对应的newsite01目录和public_html目录同一级别了。
解决方法2:
I,使用购买主机后,发送到你邮件里的 用户名 和 密码登录FTP,在public_html/目录下建立一个名为.htaccess 的文件;
II,例如:添加的新域名为www.wphao.com,在public_html/建立的对应目录为public_html/wphao ;
III,在刚刚建立的.htaccess 的文件中,写入以下内容,并根据提示修改为自己的域名和目录名称即可;
将第2行和第7行中的 wphao.com 改成你的新增域名;
将第3行、第6行、第8行中的 /wphao/ 改成域名对应的 文件夹名称(注意不要加粗);
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?wphao.com$
RewriteCond %{REQUEST_URI} !^/wphao/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wphao/$1
RewriteCond %{HTTP_HOST} ^(www.)?wphao.com$
RewriteRule ^(/)?$ wphao/index.php [L]
注意:其中的空格不要删除,否则解析会出现错误。
如此设置后,你新增的域名文件夹就和public_html/在同一级别了,管理起来就更加方便直观了。最后效果如下:
/public_html
/wp-admin
/wp-content
/wp-includes
/index.php
/wp-activate.php
/blog
/newsite01
/newsite02
/newsite03