链接没有回到目录?

时间:2011-02-01 11:57:11

标签: html broken-links

这可能是一个愚蠢的问题,我自己也有答案,但我想知道我做错了什么。我有一个网站,我们称之为www.mysite.com。在这个网站中,我有一些常见问题解答,但是建立网站的人将FAQ页面保存在名为“FAQs”的网站上的目录下。

例如,FAQ页面位于:

www.mysite.com/pages/en/faqs/faq-page1.html

请注意pages/en/目录。理想情况下,我希望所有页面都保存在www.mysite.com/index.html等之下,但我无法改变它。

无论如何,当我在这些常见问题解答页面中的任何一个时,我尝试链接回来说出主页index.html,导航将不会转到该页面。例如,当我上场时:

www.mysite.com/pages/en/faqs/faq-page1.html

我尝试链接回主页

www.mysite.com/pages/en/index.html(这是保存索引页面的地方)导航将无法正常工作。相反,它会尝试转到www.mysite.com/pages/en/faqs/index.html

现在我假设发生这种情况是因为我在“faq”目录中,但是如何在链接时返回到根目录?链接的代码只是<a href="index.html">Home</a>。我当然可以输入完整的链接www.mysite.com/pages/en/index.html,这可以解决这个问题,但还有另一种解决方法吗?很抱歉这么长的帖子我可能能够更好地解释这个但我不能:S

提前致谢。

3 个答案:

答案 0 :(得分:41)

您需要提供<a href="../index.html">Home</a>

的相对文件路径

或者,您可以指定来自您网站根目录的链接 <a href="/pages/en/index.html">Home</a>

...在文件路径中有特殊含义,..表示一个目录,.表示当前目录。

所以<a href="index.html">Home</a><a href="./index.html">Home</a>

相同

答案 1 :(得分:19)

有两种类型的路径:绝对路径和相对路径。对于硬盘中的文件和URL中的目录,这基本相同。

绝对路径以前导斜杠开头。无论您在何处使用它们,它们始终指向相同的位置:

  • /pages/en/faqs/faq-page1.html

相对路径是其余的(所有不以斜杠开头)。他们指向的位置取决于您使用它们的位置

  • index.html是:
      如果从/pages/en/faqs/index.html 调用,则
    • /pages/en/faqs/faq-page1.html 如果从/pages/index.html
    • 调用,则
    • /pages/example.html

还有两个特殊的目录名称:...

  • .表示“当前目录”
  • ..表示“父目录”

您可以使用它们来构建相对路径:

    如果从../index.html 调用,则
  • /pages/en/index.html/pages/en/faqs/faq-page1.html 如果从../../index.html
  • 调用,则
  • /pages/index.html/pages/en/faqs/faq-page1.html

一旦熟悉了这些术语,就很容易理解它失败的原因以及解决方法。您有两种选择:

  • 使用绝对路径
  • 修复您的相对路径

答案 2 :(得分:5)

要上传链接中的目录,请使用..。这意味着“上一个目录”,因此您的链接将如下所示:

<a href="../index.html">Home</a>