使 URL 指向本地文件夹

use*_*546 10 networking redirect

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

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

我的具体需要domainxxx.xxx/file.js不是在远程服务器上包含真正的“file.js”,而是/home/user/folder/file.js包含在我的机器上。

我读过这是不可能的,在/etc/hosts. 我怎样才能做到这一点?

pLu*_*umo 17

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

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

file:///path/to/folder
Run Code Online (Sandbox Code Playgroud)

应显示文件列表,类似于文件浏览器。Web 浏览器还可以解析.html 文件、显示图像、播放某些视频格式、从本地机器打开文本xml文件。只需将浏览器指向file:///path/to/file.ext.


选项 2:运行 HTTP 服务器

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

这是一个很好的 Instant HTTP Server 选项列表。


示例: 使用 Python 和SimpleHTTPServer启动即时 http-Server

Python 2.x:

cd /home/user/folder && python -m SimpleHTTPServer 8082
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

cd /home/user/folder && python3 -m http.server 8082 
Run Code Online (Sandbox Code Playgroud)

然后打开你喜欢的浏览器:http://localhost:8082/

更新:

在评论中添加您的特定需求后,我建议阅读此页面为什么不允许 http 页面内的本地链接。还包括一个解决方法(使用 NoScript 覆盖安全策略)。

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

我看到三个选项:

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

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