绝对或相对 URL 如果我的网站可能不在根文件夹中?
Absolute or Relative URL if my website may not be at the root folder?
我正在 2 URL:mywebsite.example.com
或 example.com/mywebsite
可以访问的 Web 服务器上开发一个网站。例如,当我访问 mywebsite.example.com/images/abc.jpg
和 example.com/mywebsite/images/abc.jpg
时,我得到相同的图片。
问题是,我的网站里面有很多link,我不确定应该使用绝对路径还是相对路径。
来自另一个问题
Absolute vs relative URLs
我发现有人建议使用相对于 root 的 URL(如 /images/abc.jpg),但是当我使用示例访问该网站时。com/mywebsite,每个 link 都会中断。
对于相对路径,我发现很难管理,因为网页位于不同的文件夹中,但使用包含一些 link 的相同模板。这意味着我必须手动将一些 link 设置为 ../
和一些 ./
.
我也尝试过使用 <base>
标签,但它与锚点混淆了。即使我尝试在 #
符号之前包含完整路径,某些 jQuery 库也无法正常运行,因为它们直接获取属性 href
中的值,但不会提取之后的部分#
.
有没有更好的做法或建议?
我认为你应该使用相对 url,并将你的搜索集中在如何在模板中使用相对 url,这将相对于最终页面进行解析。
我不知道您使用的模板技术,但我看到了两个常见的解决方案:
- 在模板中声明一个 "relative path" 变量,然后在不同的页面中使用新的相对路径覆盖它。使用此相对路径作为所有 urls 的前缀
- 将 url 构建委托给知道最终页面的服务。像
resolveUrl(..)
这样的想法
我正在 2 URL:mywebsite.example.com
或 example.com/mywebsite
可以访问的 Web 服务器上开发一个网站。例如,当我访问 mywebsite.example.com/images/abc.jpg
和 example.com/mywebsite/images/abc.jpg
时,我得到相同的图片。
问题是,我的网站里面有很多link,我不确定应该使用绝对路径还是相对路径。
来自另一个问题 Absolute vs relative URLs 我发现有人建议使用相对于 root 的 URL(如 /images/abc.jpg),但是当我使用示例访问该网站时。com/mywebsite,每个 link 都会中断。
对于相对路径,我发现很难管理,因为网页位于不同的文件夹中,但使用包含一些 link 的相同模板。这意味着我必须手动将一些 link 设置为 ../
和一些 ./
.
我也尝试过使用 <base>
标签,但它与锚点混淆了。即使我尝试在 #
符号之前包含完整路径,某些 jQuery 库也无法正常运行,因为它们直接获取属性 href
中的值,但不会提取之后的部分#
.
有没有更好的做法或建议?
我认为你应该使用相对 url,并将你的搜索集中在如何在模板中使用相对 url,这将相对于最终页面进行解析。
我不知道您使用的模板技术,但我看到了两个常见的解决方案:
- 在模板中声明一个 "relative path" 变量,然后在不同的页面中使用新的相对路径覆盖它。使用此相对路径作为所有 urls 的前缀
- 将 url 构建委托给知道最终页面的服务。像
resolveUrl(..)
这样的想法