Different between ./ , ../ , ../../ , ~/ on file path(URL) in asp.net
Solution 1
These path components are shortcuts with specific meanings:
.
means the current path level (so if you're onindex.aspx
and you reference./style.css
then the latter would have to be in the same folder as the former)..
means one path level up (so if you're on/somefolder/index.aspx
and you reference../style.css
then the latter would have to be in the parent folder ofsomeFolder
)/
means the root level (so/style.css
is the same ashttp://www.mysite.com/style.css
)~
in ASP.NET means the server-side application root (so~/index.aspx
would be translated to the URL of theindex.aspx
file that's in the application's root)
There are a number of things to note here:
- There is a difference between server paths and client paths. For example, from the web browser's perspective there's no "application root." A web browser wouldn't know what to do with
~
. That can only be used in paths which are pre-processed in server-side components. The server-side components would then know to translate that into a client-visible path based on the current location of the application relative to the web server. - Parent path specifiers (
..
) have no limit. The root's parent is considered the root. So if you're onhttp://www.mysite.com/someFolder/index.aspx
and you reference../../../../style.css
it will go tohttp://www.mysite.com/style.css
. - The browser also translates paths for you. This is one of the differences between the "page source" and the "DOM." Your page source may have a reference to
../somePage.aspx
, but when you hover over it with your mouse the browser indicates that it'shttp://www.mysite.com/somePage.aspx
. This is because the browser has converted the relative path of the former into the absolute path of the latter.
Solution 2
Let's see...
. = this directory
.. = the parent directory
../ = the parent directory
~/ = the user's home directory or the application's, in ASP
/ = the root directory
../../ = the parent's parent directory
and so on.
BTW, this works for all Linux/Unix systems.
Ramesh Rajendran
Technologies : HTML CSS Asp.Net MVC Web Api C# Angular 1-7 Unit Test (Front End & Back End) I am currently working in L&T . Read my blog C# DotNet Solutions.
Updated on June 30, 2020Comments
-
Ramesh Rajendran almost 4 years
I have a script file .
<script src="~/Scripts/angular.js"></script>
See the path is
~/Script
. But if I Entered../../
instead of~/
,Also the process are working same .My website URL like :
https://sample.com/Scripts/angular.js
If I entered
../../
in beforeScripts
,then it's automatically change previous URL(https://sample.com/Scripts/angular.js)
.What is the url process ? And how can its automatically changed? and please tell about the Different between
./, ../ , ../../ , ~/ ,/Scripts ,Scripts
?