Differences in declaring your root directory in HTML

ぐ巨炮叔叔 提交于 2019-12-13 11:50:40

问题


This has been bugging me for a long time so I need to ask the question.

What is the difference between / and ./, is it just down to server settings?

For example, if we were looking for an images folder in the root directory we would write:

<img src="/images">

However, another server will only accept it as follows:

<img src="./images">

It's not a biggie, but in an ideal world I'd like to think I could transfer my sites to another server relatively easily without having to update minor details like these.

Of course, I can declare it in PHP and set it once in a config file, but it really is bugging me. Why is there two methods for declaring the root?


回答1:


To reference files relative to the current page, you can either write the path plainly without a prefix, or you can be explicit about it by prefixing with ./. To reach files with paths relative to the root of your site, you prefix the path with /.

Summary

/ absolute path (full path to resource from root directory)
./ relative path from current directory (equal to not specifying any folder prefix)
../ relative path from parent directory
../../ relative path from parent of parent

Examples

Current URL               Resource path          Resolves to

/pages/home.html          ./picture.jpg          /pages/picture.jpg
/pages/home.html          ../img/picture.jpg     /img/picture.jpg
/pages/about/home.html    /img/picture.jpg       /img/picture.jpg
/pages/about/home.html    img/picture.jpg        /pages/about/img/picture.jpg
/home.html                img/picture.jpg        /img/picture.jpg



回答2:


This is the same only if the source page (the one containing this HTML) is itself at the root of the domain.

In the general case, ./images is equivalent to images.




回答3:


This has nothing to do with HTML, apart from the fact that URLs are used in HTML, too. This is defined in URL specifications. Briefly, ./ is relative to current base URL, and / is relative to the server root (technically, it refers to the server part of the base URL).



来源:https://stackoverflow.com/questions/15357693/differences-in-declaring-your-root-directory-in-html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!