【问题标题】:How can I isolate addon domains under public_html from the main domain?如何将 public_html 下的插件域与主域隔离?
【发布时间】:2019-12-05 07:36:40
【问题描述】:

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

这是我的配置的示例...

  1. one.com与托管方案绑定,直接存储在public_html中。

  2. two.com 设置为插件域并存储在public_html/two

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

这一切都按预期工作,所有三个网站都显示三个不同的网站,并且都有三个不同的文档根,所以一切都很好。

我的问题是我可以通过转到http://one.com/two/ 等来访问two.comthree.com 的文件,我不希望这样,我希望它们更加孤立。

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

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

【问题讨论】:

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


    【解决方案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 错误页面。

    【讨论】:

    • 谢谢,这是一个足够好的解决方案。我的网站也可以通过其子域访问,因此我在每个网站的 .htaccess 文件中添加了类似的行,以将 two.one.com 指向 two.com,等等。
    猜你喜欢
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 2016-12-19
    • 2015-05-14
    相关资源
    最近更新 更多