更新:

更新:

在我的 Ubuntu 16.04 机器上,我有一个需要映射到本地文件夹的 URL。

例如我需要https://domainxxx.xxx指向/home/user/folder

domainxxx.xxx/file.js我的具体需求不是将其作为远程服务器上的真实“file.js”包含,而是将/home/user/folder/file.js其作为我机器上的文件包含。

我读到过,在 中输入 是无法实现这一点的/etc/hosts。我该怎么做呢?

答案1

选项 1:使用file://链接

您可以使用以下方式将浏览器指向计算机上的任何文件夹

file:///path/to/folder

应显示文件列表,类似于文件浏览器。Web 浏览器还可以解析.html 文件, 展示图片,玩一些视频格式,开放文本xml本地计算机上的文件。只需将浏览器指向 即可file:///path/to/file.ext


选项 2:运行 HTTP 服务器

如果你需要解析除 .html 以外的文件(例如php文件)或需要从另一台计算机访问它们,则需要运行http 服务器比如apachenginx或者 PythonSimpleHTTPServer在本地机器上。然后,您可以使用URL http://(如果已配置)https://

这是即时 HTTP 服务器选项的列表。


例子: 使用 Python 启动即时 http 服务器并简单HTTP服务器

Python 2.x:

cd /home/user/folder && python -m SimpleHTTPServer 8082

Python 3.x:

cd /home/user/folder && python3 -m http.server 8082 

然后打开您喜欢的浏览器:http://本地主机:8082/

更新:

添加您的具体需要在评论中,我建议阅读这一页为什么不允许在 http 页面内进行本地链接。其中还包括一种解决方法(使用 NoScript 覆盖安全策略)。

出于安全考虑,Mozilla 应用程序会阻止远程文件链接到本地​​文件(和目录)。这包括链接到硬盘驱动器上的文件、映射网络驱动器上的文件以及通过统一命名约定 (UNC) 路径访问的文件。这可以防止许多不愉快的情况

我看到三种选择:

  • 使用(即时)HTTP 服务器,然后您可以http://localhost:8082/file.js直接包含。
  • 覆盖 Firefox 安全策略并使用链接file://(当有其他选择时我不会这样做)
  • 让服务器通过 http、smb 或 ssh 连接访问文件以直接提供服务(如果您位于路由器或防火墙后面,则需要注意端口转发)。这实现起来相当复杂,但这是允许从其他机器访问的唯一选项(仅当您的计算机在线时)。

注意:为了获得更好的答案,总是写问题尽可能具体从一开始就。

答案2

如果您使用的是 Apache 服务器,您的默认根目录可能为/var/www/html,Apache 服务器将立即查找名为index或 的文件index.html或文件夹index.php。您需要做的是:

  • 转到您想要指向的文件夹(/home/user/folder在您的示例中)右键单击该文件夹并单击“创建链接”(或任何 CLI 替代方案)。
  • 现在链接文件已创建,将其重命名为“index”,然后将其移动到 Apache 根文件夹/var/www/html
  • 最后一步重要是确保 Apache 具有适当的权限来访问所需的文件(即我们创建和命名的链接index以及/home/user/folder目录以及该目录中需要访问的文件)。

答案3

首先,您需要安装 LAMP 堆栈或仅安装 Web 服务器:阿帕奇Lighttpd或者Nginx。然后您必须配置您的 Web 服务器并启用HTTPS,如果你真的需要s安全的连接,不仅仅是HTTP


这里有一些关于 Apache2 的操作指南:

答案4

LAMP(Linux Apache MySQL 和 PHP)是最好的方式,因为它在本地机器上运行服务器。我在我的网站上写了如何安装和设置如何在 Ubuntu 上安装 LAMP

相关内容