在我的共享主机上,我刚刚创建了一个新的子域名静态.example.com但它也创建了一个新文件夹www.example.com/static/。
如何避免每次创建新子域时都创建这些新文件夹?
答案1
我猜创建此文件夹的原因很简单。托管公司只需在您的 DNS 区域文件中添加一个条目,例如:
静态A WXYZ
其中 WXYZ 是您现有站点“example.com”的 IP。然后他们会在 apache 配置中创建一个虚拟主机 -static.example.com
并将其 DocumentRoot 设置为 <server_path>/public_html/static
。
我确信你的问题不在于文件夹本身(如果不在子文件夹中,你还将如何组织静态子域中的所有文件),而在于这些文件也可以通过 URL 访问www.example.com/static
一个解决方案是,您可以要求您的托管公司将static
文件夹放在当前文档根目录之外,以便它不能作为当前 DocumentRoot 的子文件夹进行寻址。
我的意思是您当前的目录结构可能如下所示:
\
- public_html
- 静态
其中 public_html 是您的 DocumentRoot,例如.com(可以httpdocs
根据您的托管环境调用或其他名称)
您需要要求他们将静态文件夹仅移动到以下级别:
\
- public_html
- 静态
static 现在是旧 DocumentRoot 的兄弟,而不是子级。现在将不再可通过www.example.com/static
/static 寻址。/static 是您的新子域的新 DocumenRoot。
答案2
在共享托管网站上,主机软件通常会这样做。我认为这是意外行为,您应该联系您的主机提供商。通过将路径附加到主域来访问子域是不正常的。