Html 有效地使用相对URL方案

Html 有效地使用相对URL方案,html,Html,使用具有锚定标签上的所有问题,这些问题在“使其难以在我的网站上使用”一文中有描述 我的网站中有一个导航菜单,它引用了我网站的不同部分 比如说 main/ |_index.html |_section1/ |_1a.html |_1b.html 每个页面上的导航部分如下所示 <div id="nav"> <ul> <li><a href="index.html">home</a></

使用具有锚定标签上的所有问题,这些问题在“使其难以在我的网站上使用”一文中有描述

我的网站中有一个导航菜单,它引用了我网站的不同部分

比如说

main/
  |_index.html
  |_section1/
       |_1a.html
       |_1b.html
每个页面上的导航部分如下所示

<div id="nav">
  <ul>
    <li><a href="index.html">home</a></li>
    <li><a href="section1/1a.html">1a</a></li>
    <li><a href="section1/1b.html">1b</a></li>
  </ul>
</div>

这对于
main
文件夹中的所有页面都很好,但是当我查看
section1
文件夹中的页面时,由于非常明显的原因失败了。我不能使用
,因为我在文档中有大量的锚(我正在使用markdown,所以我无法轻松更改参考格式)

我担心的是,如果我在所有页面上使用绝对引用,当我将此站点上载到服务器时,用不同的页面替换每个页面上的绝对引用将是一项巨大的工作

此外,
main
在我的
/home/
目录中有几个级别,如果可能的话,我不希望每次引用某个内容时都必须键入长路径名


我想如果我被推,我可以使用
sed
用其他东西来更改绝对路径的所有实例,但我想知道是否有一种更简单、更明显的方法可以在html中处理我所缺少的问题。谢谢

您可以使用
htaccess
,如果您不能在HTML中使用

尽管冗长,但您可以在section1文件夹中创建section1文件夹(我想象是section2文件夹)并使用带有RedirectMatch的.htaccess文件将它们发送到正确的位置。这通常使用服务器端编程或生成页面的独立工具来处理。这意味着各种各样的技术,在选择技术时也应考虑许多其他因素。除了通常应该避免的
base
标记之外,我看不出在HTML中可以使用什么。谢谢@JukkaK.Korpela您知道这个问题的客户端解决方案吗。使用JavaScript在页面上操作URL相对简单。但我不认为这有什么意义,特别是因为它会阻止搜索引擎在你的页面上跟踪正确的链接。谢谢@JukkaK.Korpela,我在下面对Leo.t.Abraham的回复中给出了原因。这不会暴露给搜索引擎,所以这不重要。如果你发布一个描述你认为可能有用的javascript的答案,或者一个指向指向我正确方向的站点/问题的链接,我很乐意将其标记为答案。谢谢@LeoTAbraham,我已经尝试过了,但我没有访问服务器端脚本的权限。(我将把这个站点放到一个网络驱动器上,并提供一个指向index.html的链接)。我尝试了.htaccess解决方案,但没有成功。你知道任何客户端解决方案吗?@TahnoonPasha抱歉。。。我不知道。