我在synology服务器上安装了MediaWiki。我想在wiki上创建一个链接,允许在同一台服务器上打开文件。
以下是我为此所做的步骤:
- 在
LocalSettings.php
中添加了$wgUrlProtocols[] = "file://";
- 服务器上的测试文件:
file://myServerName/path/to/file/test.txt
。将此 URL 放在我的 chrome 浏览器中会直接打开文件。 - 在MediaWiki中创建一个页面,其中包含指向此文件的链接,使用
[[file://myServerName/path/to/file/test.txt]]
当我点击生成的维基页面时,没有任何反应。但是,当我将鼠标悬停在链接顶部时,它会显示正确的URL。
有人可以指出我需要做哪些额外的步骤才能使其正常工作吗?
file://
协议指向计算机上的文件。我不完全确定,但我认为您不能使用它从其他机器检索文件(阅读下面我关于桑巴共享的评论(。
从快速研究来看,Chrome 浏览器似乎使用file://
协议阻止请求,但像 IE 这样的浏览器应该允许您打开这些文件。这样做是出于安全原因,因此恶意站点无法在未经您许可的情况下打开本地文件。您可以通过在Chrome中安装特殊插件来绕过它(查找启用文件链接(
不要使用file
协议,而是通过 Synology WebStation 提供这些文件,然后创建通过 webstation (而不是通过服务器上的路径(指向该文件的链接。使用这种方法,附加到您的MediaWiki页面上的链接将像常规链接一样工作。
如果您不使用 WebStation,您也可以尝试使用ftp://
链接(使用 FTP 服务(,或链接到 samba 共享 - 这是file://
协议可能起作用的地方,但同样 - 我不确定,我无法测试它,因为我不使用 windows。
我认为最安全/最简单/最快的方法是通过WebStation公开这些文件。
资料来源:https://en.wikipedia.org/wiki/File_URI_scheme
文件 URI 方案是 RFC 8089 中定义的 URI 方案,通常用于从自己的计算机中检索文件。