我如何在 XWiki 中使用 linux 上的目录路径?

How can I use a path to a directory on linux in XWiki?

我想在 XWiki 页面上放置一个文件的路径。

对于 Windows 文件共享,此方法有效:

[[For Windows>>unc://filehare/directory$/index.html]] 

对于linux:

当我在 Firefox 中输入 file:///mnt/directory/index.html 时,会显示 index.html 页面。

但是当我在 XWiki 中使用任何这些语法时,没有任何反应。

[[For Linux>>file:///mnt/directory/index.html]] 
[[For Linux>>file:mnt/directory/index.html]] 
[[For Linux>>file:/mnt/directory/index.html]] 
[[For Linux>>unc:mnt/directory/index.html]] 
[[For Linux>>unc:/mnt/directory/index.html]] 
[[For Linux>>unc:///mnt/directory/index.html]] 

谁能告诉我正确的语法是什么?

首先,您需要清楚地了解 UNC 协议(以及使用它的链接)仅用于 address/reference 本地网络中其他计算机上的文件。它们也可以是指向您自己计算机的链接(使用您计算机的 "name",但大多数时候它们指的是其他计算机)。关于 UNC 的更多详细信息:https://whatis.techtarget.com/definition/Universal-Naming-Convention-UNC

其次:"on Windows" 与 "on Linux" 的含义不明确。在第一种情况下,XWiki 服务器 运行 在 Windows 上,在第二种情况下,它是 运行 在 Linux 上的另一个 XWiki 服务器吗?我实际上认为你的意思是你试图从两台不同的计算机访问同一个 XWiki 服务器:首先你使用的是带有 Windows 操作系统的计算机(可能在 Internet Explorer/Edge 上),在第二种情况下您切换到另一台装有 Firefox 浏览器的 运行 Linux 发行版计算机。我假设您处于后一种情况,因为这是最有意义的情况。请注意,UNC 链接仅适用于在查看 XWiki 页面时使用 Windows 计算机 的人。

第三:您的第一个示例 unc://filehare/directory$/index.html 是对 fileshare 计算机上文件的引用(它位于网络上的某个位置,而不是您现在正在使用的当前计算机进行测试,参考了我第一点提到的 UNC 协议)。但是,您的第二个示例 file:///mnt/directory/index.html 不起作用,它是对 local 计算机上的文件的引用,您正在测试的计算机("mnt" 是您计算机上的一个文件夹)。在第二个示例中,由于安全问题,现代 Web 浏览器(包括 Firefox,您正在测试的浏览器)在好几年前就不再允许使用您的特定用例。 Internet Explorer(作为一个旧浏览器)默认情况下可能仍然可以使用,但你真的不应该在 2018 年再使用它。欢迎在 http://kb.mozillazine.org/Links_to_local_pages_don%27t_work

上阅读有关此主题的更多信息

在 XWiki 中,以下任何链接都是等效的:

[[UNC file on the "server" computer>>unc:\server\folder\file.ext]]
[[UNC file on the "server" computer>>url:file://///server/folder/file.ext]]
[[UNC file on the "server" computer>>file://///server/folder/file.ext]]

...然而,这与 XWiki 无关,而是与您当前浏览器解释这些链接的能力有关。默认情况下,如前所述,这不再受支持或被禁用。某些浏览器可能仍支持通过某些高级设置或安装浏览器插件来禁用此保护:

...但是您必须进行此更改并在阅读该页面时希望使用的所有计算机上安装此类附加组件,这不太实用。