【发布时间】:2016-03-18 19:11:13
【问题描述】:
我正在 Web 服务器上开发一个网站,可以通过 2 个 URL 访问:mywebsite.example.com 或 example.com/mywebsite。例如,当我访问mywebsite.example.com/images/abc.jpg 和example.com/mywebsite/images/abc.jpg 时,我得到了相同的图片。
问题是,我的网站中有很多链接,我不确定应该使用绝对路径还是相对路径。
来自另一个问题 Absolute vs relative URLs 我发现有人建议使用相对于根目录的 URL(例如 /images/abc.jpg),但是当我使用 example.com/mywebsite 访问该网站时,每个链接都会中断。
对于相对路径,我发现很难管理,因为网页位于不同的文件夹中,但使用包含一些链接的相同模板。这意味着我必须手动将一些链接设置为../,一些设置为./。
我也尝试过使用<base> 标签,但它会与锚点混淆。即使我尝试在 # 符号之前包含完整路径,一些 jQuery 库也无法正常运行,因为它们直接获取属性 href 中的值,但不提取 # 之后的部分。
有没有更好的做法或建议?
【问题讨论】:
-
我建议选择一个 URL 并坚持下去。 Redirect 您选择的其他 URL 并使用链接和图像的相对路径。见canonicalization。
-
不幸的是,我无法进行重定向,因为我不是服务器的所有者,也没有权限。如果我能够坚持使用其中一个 URL,我已经这样做了。
标签: html url relative-path absolute-path