Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如果我的网站可能不在根文件夹中,则为绝对或相对URL?_Html_Url_Relative Path_Absolute Path - Fatal编程技术网

Html 如果我的网站可能不在根文件夹中,则为绝对或相对URL?

Html 如果我的网站可能不在根文件夹中,则为绝对或相对URL?,html,url,relative-path,absolute-path,Html,Url,Relative Path,Absolute Path,我正在web服务器上开发一个网站,可以通过两个URL访问:mywebsite.example.com或example.com/mywebsite。例如,当我访问mywebsite.example.com/images/abc.jpg和example.com/mywebsite/images/abc.jpg时,我得到了相同的图片 问题是,我的网站里有很多链接,我不确定我应该使用绝对路径还是相对路径 从另一个问题 我发现有人建议使用相对于root的URL(比如/images/abc.jpg),但是当

我正在web服务器上开发一个网站,可以通过两个URL访问:
mywebsite.example.com
example.com/mywebsite
。例如,当我访问
mywebsite.example.com/images/abc.jpg
example.com/mywebsite/images/abc.jpg
时,我得到了相同的图片

问题是,我的网站里有很多链接,我不确定我应该使用绝对路径还是相对路径

从另一个问题 我发现有人建议使用相对于root的URL(比如/images/abc.jpg),但是当我使用example.com/mywebsite访问网站时,每个链接都会断开

对于相对路径,我发现很难管理,因为网页位于不同的文件夹中,但使用相同的模板,其中包含一些链接。这意味着我必须手动将一些链接设置为
。/
,另一些设置为
/

我也尝试过使用
标记,但是它会把锚弄得一团糟。即使我尝试在
符号之前包含完整路径,一些jQuery库也无法正常工作,因为它们直接获取属性
href
中的值,但不提取
之后的部分


是否有更好的实践或建议?

我认为您应该使用相对URL,并将您的搜索集中在如何在模板中使用相对URL,这将相对最终页面进行解决

我不知道您用于模板制作的技术,但我看到两种常见的解决方案:

  • 在模板中声明一个“相对路径”变量,然后在不同页面中用新的相对路径覆盖它。将此相对路径用作所有URL的前缀
  • 将URL构造委托给知道最终页面的服务。比如
    resolveUrl(…)

我建议选择一个URL并坚持使用。指向您选择的URL的其他URL,并使用链接和图像的相对路径。请参阅。很遗憾,我无法执行重定向,因为我不是服务器的所有者,并且没有此权限。如果我能坚持使用其中一个URL,我早就这么做了。