【问题标题】:Mediawiki: Links to open local files on the server doesn't workMediawiki:在服务器上打开本地文件的链接不起作用
【发布时间】:2020-05-13 17:02:40
【问题描述】:

我在 Synology 服务器上安装了 MediaWiki。我想在 wiki 上创建一个链接,允许在同一服务器上打开文件。

以下是我为实现此目的而采取的步骤:

  • LocalSettings.php 中添加了$wgUrlProtocols[] = "file://";
  • 服务器上的测试文件:file://myServerName/path/to/file/test.txt。将此 URL 放入我的 chrome 浏览器中会直接打开该文件。
  • 使用 [[file://myServerName/path/to/file/test.txt]] 在 MediaWiki 中创建一个带有指向此文件的链接的页面

当我单击生成的 wiki 页面时,没有任何反应。但是,当我将鼠标悬停在链接顶部时,它会显示正确的 URL。

谁能指出我需要做哪些额外的步骤才能让它工作?

【问题讨论】:

    标签: mediawiki synology mediawiki-extensions semantic-mediawiki


    【解决方案1】:

    file:// 协议指向您计算机上的文件。我不完全确定,但我认为您不能使用它从其他机器检索文件(请阅读下面关于 samba 共享的评论)。

    从快速研究来看,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 方案,通常用于从自己的计算机中检索文件。

    【讨论】:

    • 但我仍然可以使用file 协议直接在浏览器中打开文件。这意味着 Synology 可以接受,对吧?
    • 嗯,你用的是windows吗?很可能您通过 samba 共享访问该文件。如果文件是网站上的链接,浏览器可能会阻止打开该文件,但如果您直接在 url 栏中输入它仍然允许您打开它(与您可以从资源管理器打开文件相同)。也许尝试在 Internet Explorer/Edge 中做同样的事情。现在我真的很好奇如果你直接把它放到 url 栏中它为什么会起作用。还有@locke14 - 请检查这个资源:community.spiceworks.com/topic/… - 看起来像 chrome 块打开文件资源
    • 谢谢。是的,我正在使用窗户。边缘的行为也是一样的..
    猜你喜欢
    • 2018-09-05
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2012-07-24
    • 2011-09-03
    • 1970-01-01
    相关资源
    最近更新 更多