30

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

例如,FAQ 页面将位于:

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

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

无论如何,当我在这些常见问题解答页面中的任何一个页面上时,我尝试返回链接以说明主页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

提前致谢。

4

3 回答 3

51

You need to give a relative file path of <a href="../index.html">Home</a>

Alternately you can specify a link from the root of your site with <a href="/pages/en/index.html">Home</a>

.. and . have special meanings in file paths, .. means up one directory and . means current directory.

so <a href="index.html">Home</a> is the same as <a href="./index.html">Home</a>

于 2011-02-01T12:01:25.727 回答
22

有两种类型的路径:绝对路径和相对路径。对于硬盘中的文件和 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

一旦您熟悉了这些术语,就很容易理解它的失败之处以及如何解决它。你有两个选择:

  • 使用绝对路径
  • 修复你的相对路径
于 2011-02-01T12:12:01.650 回答
9

To go up a directory in a link, use ... This means "go up one directory", so your link will look something like this:

<a href="../index.html">Home</a>
于 2011-02-01T12:00:40.027 回答