Obtener URL base de la raíz del sitio web (URL absoluta/relativa)
-
23-09-2019 - |
Pregunta
Quiero comprender completamente cómo usar la dirección de URL relativa y absoluta en archivos estáticos y dinámicos.
~ :
/ :
.. : in a relative URL indicates the parent directory
. : refers to the current directory
/ : always replaces the entire pathname of the base URL
// : always replaces everything from the hostname onwards
Este ejemplo es fácil cuando trabaja sin directorio virtual. Pero estoy trabajando en el directorio virtual.
Relative URI Absolute URI
about.html http://WebReference.com/html/about.html
tutorial1/ http://WebReference.com/html/tutorial1/
tutorial1/2.html http://WebReference.com/html/tutorial1/2.html
/ http://WebReference.com/
//www.internet.com/ http://www.internet.com/
/experts/ http://WebReference.com/experts/
../ http://WebReference.com/
../experts/ http://WebReference.com/experts/
../../../ http://WebReference.com/
./ http://WebReference.com/html/
./about.html http://WebReference.com/html/about.html
Quiero simular un sitio a continuación, como mi proyecto que está trabajando en el directorio virtual.
Estos son mi carpeta ASPX y ASCX
http://hostAddress:port/virtualDirectory/MainSite/ASPX/default.aspx
http://hostAddress:port/virtualDirectory/MainSite/ASCX/UserCtrl/login.ascx
http://hostAddress:port/virtualDirectory/AdminSite/ASPX/ASCX/default.aspx
Estos son mis archivos JS (que se usarán tanto con los archivos ASPX y ASCX):
http://hostAddress:port/virtualDirectory/MainSite/JavascriptFolder/jsFile.js
http://hostAddress:port/virtualDirectory/AdminSite/JavascriptFolder/jsFile.js
Esta es mi dirección de página web estática (quiero mostrar algunas fotos y ejecutar dentro de algunas funciones JS):
http://hostAddress:port/virtualDirectory/HTMLFiles/page.html
esta es mi carpeta de imagen
http://hostAddress:port/virtualDirectory/Images/PNG/arrow.png
http://hostAddress:port/virtualDirectory/Images/GIF/arrow.png
Si quiero escribir y el enlace del archivo de imagen en mi archivo ASPX, debería escribir
aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png";
Pero si quiero escribir la ruta codificada o desde el archivo JavaScript, ¿qué tipo de dirección de URL debería ser?
Solución
Tu enfoque es asqueroso.Intenta manejar el archivo secuencialmente.Recuerde que debe escribirlo de todos modos, así que intente esto:
(archivo abierto para leer, abrir nuevo archivo para escribir)
- readline -> variable de cadena
- Si readline es su reserva, lea las siguientes dos líneas sin hacer nada.
- si no 2), escriba la línea al nuevo archivo.
- descargar nuevo archivo y cerrar ambos.
- Eliminar archivo antiguo y muévete nuevo uno a otro nombre.
hecho.