【问题标题】:virtual host not able to access file outside document root虚拟主机无法访问文档根目录之外的文件
【发布时间】:2017-05-29 10:20:25
【问题描述】:

我在我的 macOS 上的本地主机上为单独的项目设置了虚拟主机。这是 httpd-vhosts.conf 文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/Users/Sammy/Sites"
    ServerName 127.0.0.1
    ServerAlias localhost
    ErrorLog "/private/var/log/apache2/localhost-error_log"
    CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/Sammy/Sites/workspace/abc/public_html"
  ServerName abc
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/Sammy/Sites/workspace/xyz/public_html"
    ServerName xyz
</VirtualHost>

我还更新了主机列表。问题是,当我使用此链接访问我的网站时,这些网站无法加载存在于“public_html”目录之外的 css/js 文件和图像,而如果我通过 localhost 路径打开它就可以工作..

我来自ubuntu环境,mac上的apache目录结构比较老!任何人都可以帮我解决这个问题..

谢谢

【问题讨论】:

    标签: apache


    【解决方案1】:

    网站无法加载存在于“public_html”目录之外的 css/js 文件和图像

    这才是重点。

    DocumentRoot 是网站的根目录。 的一切都是网站的一部分。

    通过在 DocumentRoot 中添加内容,您可以为其提供一个 URL,并使其可以通过 HTTP 进行请求。

    HTTP 服务器并非旨在将整个硬盘上的每个私有文件都公开给全世界。那会很糟糕。

    如果你想给一个文件一个 URL,那么把它放在 DocumentRoot 中(或者查看the Alias directives)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 2015-09-05
      • 2021-04-30
      • 2016-10-17
      • 2019-10-22
      • 2018-08-14
      • 2019-06-29
      • 2020-12-27
      相关资源
      最近更新 更多