File URL en Windows vs Unix
Hola.
En esta ocasión voy a escribir acerca de las diferencias para especificar la ubicación de un directorio o archivo en Windows vs Unix.
Este es un problema común para aquellos que trabajamos entre ambos sistemas indistintamente. La diferencia en rutas entre uno y otro sistema varía un poco por lo que es necesario hacer modificaciones para apuntar a la ubicación correcta.
Generalmente la duda de siempre es cuántos slashes se deben poner en el file URL.
El // (doble slash) después de file: indica que sigue un hostname o la palabra localhost. Aunque esta parte puede ser omitida o indicar un hostname vacío.
Así que lo correcto, en teoría, es poner la ruta después del tercer slash.
Digo en teoría porque yo he visto el uso de incluso 5 slashes que seguramente podrían reescribirse en alguna forma correcta usando menos. Leyendo un poco sobre esto veo que hay formas no correctas que son usadas y funcionan.
Cuando se está trabajando en múltiples sistemas, lo mas común es no usar un nombre de host o rutas absolutas porque esto permite mover tus configuraciones fácilmente entre servidores sin necesidad de estar cambiándolas cada que las mueves.
Abajo los ejemplos, noten los 3 slashes que indican un hostname vació y enseguida la ruta.
Unix
Con hostname
file://localhost/tmp/archivo.txt
Sin hostname
file:///tmp/archivo.txt
Windows
Con hostname
file://localhost/c$/WINDOWS/archivo.txt
Sin hostname
file:///c:/WINDOWS/archivo.txt
Referencia:
https://en.wikipedia.org/wiki/File_URI_scheme
Espero les sirva.