cPanel中,使用.htaccess设置主域名指向子目录

在开通的以cPanel控制面板为管理平台的主机账户下,往往开通空间时填写绑定的主域名默认是指向到/public_html/目录。但在cPanel中的“子域”或“附加域”中添加的其他主域名和二级域名,则是默认指向/public_html/目录下的子目录的。例如:建立blog.example.com二级域名时,默认是生成一个/public_html/blog 的对应目录,这样一来就会使得其他网站的文件目录和主域名网站的文件目录混合显示了。

解决方法如下:

I,使用购买主机后,发送到你邮件里的 用户名 和 密码登录FTP,在public_html/目录下建立一个名为.htaccess 的文件;

II,例如:添加的新域名为www.example.com,在public_html/建立的对应目录为public_html/example;

III,在刚刚建立的.htaccess 的文件中,写入以下内容,并根据提示修改为自己的域名和目录名称即可;

将第2行和第7行中的 example.com 改成你的新增域名;

将第3行、第6行、第8行中的 /example/ 改成域名对应的 文件夹名称(注意名称不要搞错);

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/example/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /example/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ example/index.php [L]

注意:其中的空格不要删除,否则解析会出现错误。