web-dev-qa-db-fra.com

Faire pointer l'URL vers le dossier local

J'ai une URL à mapper, sur ma machine Ubuntu 16.04, vers un dossier local.

Par exemple. J'ai besoin de https://domainxxx.xxx pour pointer vers /home/user/folder.

Mon besoin spécifique consiste à inclure domainxxx.xxx/file.js non pas en tant que vrai 'fichier.js' sur le serveur distant, mais en tant que /home/user/folder/file.js qui se trouve sur ma machine.

J'ai lu que ce n'est pas possible avec une entrée dans /etc/hosts. Comment puis-je faire ceci?

7
user1403546

Option 1: Utiliser les liens file://

Vous pouvez diriger votre navigateur vers n’importe quel dossier de votre ordinateur en utilisant

file:///path/to/folder

Une liste de fichiers devrait apparaître, semblable à un navigateur de fichiers. Les navigateurs Web peuvent également analyser . Fichiers HTML , afficher images , lire des vidéos , ouvrez les fichiers texte et xml de votre ordinateur local. Il suffit de pointer votre navigateur sur file:///path/to/file.ext.


Option 2: Exécuter un serveur HTTP

Si vous devez analyser des fichiers autres que .html (par exemple, des fichiers php) ou y accéder depuis un autre ordinateur, vous devez exécuter un serveur http tel que Apache, nginx ou Python SimpleHTTPServer sur votre ordinateur local. Ensuite, vous pouvez utiliser http:// et si elles sont configurées également des URL https://.

Voici une belle liste d'options Instant HTTP Server.


Exemple: Démarrez un serveur HTTP instantané à l'aide de Python et SimpleHTTPServer

Python 2.x:

cd /home/user/folder && python -m SimpleHTTPServer 8082

Python 3.x:

cd /home/user/folder && python3 -m http.server 8082 

Ouvrez ensuite votre navigateur préféré: http: // localhost: 8082 /

METTRE À JOUR:

Après avoir ajouté votre besoin spécifique dans les commentaires, je vous recommande de lire cette page pourquoi les liens locaux dans les pages http ne sont pas autorisés . Une solution de contournement est également incluse (remplacement de la stratégie de sécurité à l'aide de NoScript).

Pour des raisons de sécurité, les applications Mozilla bloquent les liens vers les fichiers locaux (et les répertoires) à partir de fichiers distants. Cela inclut la liaison aux fichiers sur votre disque dur, sur des lecteurs réseau mappés et accessibles via les chemins UNC (Uniform Naming Convention). Cela évite un certain nombre de possibilités désagréables

Je vois trois options:

  • Utilisez un serveur HTTP (instantané), vous pouvez alors inclure directement http://localhost:8082/file.js.
  • Remplacer la politique de sécurité de Firefox et utiliser un lien file:// (je ne le ferais pas lorsque d'autres options existent)
  • Laissez le serveur accéder au fichier via une connexion http, smb ou ssh pour le servir directement (si vous êtes derrière un routeur ou un pare-feu, vous devez prendre en charge le transfert de port). C'est assez compliqué à réaliser, mais c'est la seule option qui permet l'accès depuis d'autres machines (uniquement lorsque votre ordinateur est en ligne).

Note: Pour de meilleures réponses, toujours écrivez la question aussi spécifique que possible Depuis le début.

11
pLumo

Si vous utilisez Apache Server, votre répertoire racine par défaut sera probablement /var/www/html et le serveur Apache examinera un fichier ou un dossier nommé index, tel que index.html ou index.php, pour y accéder immédiatement. Ce que vous devez faire c'est:

  • Accédez au dossier vers lequel vous souhaitez être pointé (/home/user/folder dans votre exemple), cliquez avec le bouton droit de la souris sur le dossier, puis cliquez sur "Créer un lien" (ou sur l’alternative CLI).
  • Maintenant que le fichier de lien est créé, renommez-le en "index" puis déplacez-le dans votre dossier racine Apache /var/www/html.
  • La dernière étape importante consiste à vérifier que Apache dispose des autorisations nécessaires pour accéder aux fichiers nécessaires (c'est-à-dire le lien que nous avons créé et nommé index et le répertoire /home/user/folder ainsi que les fichiers nécessaires pour y accéder).
3
gRoMBi

Vous devez d’abord installer la pile LAMP ou tout simplement le serveur Web en tant que: Apache , Lighttpd ou Nginx . Ensuite, vous devez configurer votre serveur Web et activer HTTPS , si vous avez réellement besoin de s connexion ecure, et pas seulement - HTTP .


Voici quelques HOW-TO sur Apache2:

1
pa4080

LAMP (Linux Apache MySQL et PHP) est le meilleur moyen d’exécuter un serveur sur votre ordinateur local. J'ai écrit comment installer et configurer sur mon site Web comment installer LAMP sur Ubunt

0
Ian Croasdell