如何将public_html下的插件域与主域隔离?

时间:2019-07-27 03:04:38

标签: apache hosting cpanel web-hosting shared-hosting

我正在使用Directnic托管多个网站。 Directnic与许多主机一样,要求将每个网站都放置在/home/<user>/public_html目录下。这可行。我的问题是可以从“主”域访问某些网站。

以下是我的配置示例...

  1. one.com与托管计划相关,并直接存储在public_html中。

  2. two.com被设置为附加域,并存储在public_html/two中。

  3. three.com也被设置为插件域,并存储在public_html/three中。

这一切都按预期工作,所有三个网站都显示三个不同的网站,并且都具有三个不同的文档根目录,因此一切正常。

我的问题是我可以通过转到two.com等来访问three.comhttp://one.com/two/的文件,我不希望这样,我希望它们更加隔离

我可以对one.com隐藏这些文件的哪些配置?

我的主机使用Apache和cPanel,但是我无权访问特定的conf文件,因此无法创建虚拟主机。也许有些.htaccess骗术?

1 个答案:

答案 0 :(得分:1)

这是cPanel的工作方式。您无法100%隔离它,也无法获得添加虚拟主机条目的配置访问权限。它正在由您的服务提供商进行管理。

您当然可以限制对HTTP的访问。您可以在子文件夹中添加重写规则(在上面的示例两个文件夹和三个文件夹中)。您可以尝试使用以下.htaccess重写规则来防止从主域直接访问:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/addon1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/addon2/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/addon3/(.*)$
RewriteRule ^(.*)$ - [L,R=404]

添加以上规则后,您的主域将无法使用HTTP访问附加文件夹。它应该显示404错误页面。