kruben wrote:Eine frage hab ich aber jetzt schon. Warum muss ich die hosts datei unbedingt bei jedem gerät ändern?
Damit jedes Gerät auch weiß, dass axion.local die IP 192.168.178.23 besitzt. Woher soll der einzelne Client wissen, an welche IP ein Request geschickt werden muss, wenn Du axion.local im Browser eingibst?
Das ganze nennt sich DNS Namensauflösung (die wird für alle Namen im Internet auch benötigt, auch für
http://www.google.de usw.), als erstes muss immer die IP zu dem Namen ermittelt werden. Dazu schaut DNS als allererstes in die eigene(!) Hosts Datei - gibt es dort diesen Namen, wird die zugehörige IP benutzt. Gibt es dort keinen Eintrag, dann wird eine Anfrage an den DNS Server geschickt, dieser DNS Server wird beim Connect in das LAN dem jeweiligen Client mitgeteilt (das kannst Du sowohl im PC als auch im Smartphone nachschauen, was für ein DNS Server angegeben ist).
Nun wird ein "normaler" DNS Server, wie er im Internet von den Providern automatisch angeboten wird, natürlich NICHT den Rechner axion.local kennen. Deswegen müßte man dann bei Dir zu Hause zusätzlich einen eigenen DNS Server einrichten und beim Connect die IP von diesem DNS Server an die jeweiligen Clients ausliefern. Du merkst, das ist sicherlich nicht so ganz einfach und vor allem viel Arbeit.
Nichtsdestotrotz ist das natürlich machbar und mit einiger Sicherheit wird das eine professionelle Firma getan haben, die haben die Manpower und die Hardware und auch die Software, um das so zu betreiben. Deswegen brauchtest Du dort an Deinem Smartphone nichts zu machen, die haben ihr eigenes WLAN so eingerichtet, dass das einen eigenen DNS Server betreibt und Dein Smartphone befragt dann diesen DNS Server, um die Namen aufzulösen. Das ist für zu Hause für Dich der totale Overkill. Insbesondere hast Du das Problem, dass Du das (wie Du schon richtig erkannt hast) irgendwo im Router einstellen musst. Da muss aber nicht, wie Du annimmst, irgendeine Umleitung eingerichtet werden, sondern da muss ein DNS Server eingerichtet werden, oder es muss zumindest im Router irgendwie mitgeteilt werden, dass Du einen ganz bestimmten (eigenen) DNS Server benutzen möchtest, anstatt der voreingestellten Werte, wie sie entweder im Router fest eingestellt sind oder wie es seinerseits beim Connect des Routers ins WWW vom Provider an den Router mitgeteilt wird. Dann könnte man auf einem eigenen Rechner (beispielsweise auch der Xampp Rechner, der muss ja sowieso eingeschaltet sein) einen DNS Server einrichten.
Mein Router (eine alte Fritzbox 7120) kann das beispielsweise überhaupt nicht, da kann ich gar nichts ändern. Und das wird bei vielen Routern so sein, das sind billige Consumer Geräte für den kleinen Mann zu Hause. in einer großen Firma wird da möglicherweise komplett ein ganz eigener Server betrieben, der sich um die ganze Infrastruktur bemüht. Ein Router ist genau genommen auch nur ein Rechner, meistens mit irgendeinem Linux drauf und mit minimaler Hardware ausgestattet und ohne Monitor.
Aber nur der schlichte Eintrag in die hosts Datei gilt immer nur für den Rechner, bei dem die hosts Datei gespeichert ist. Die anderen Rechner wissen davon gar nichts. Und deswegen muss das in jedem Rechner gleich eingerichtet werden, sonst findet der Browser den Server axion.local nicht.
Es gibt zu dem ganzen Scenario eine einzige Ausnahme, wenn Du in einem Netzwerk nicht den freien Namen axion.local verwenden willst, sondern den wirklichen Namen des Rechners, wo Xampp installiert ist (jeder Rechner bekommt bei der Installation des Betriebssystems einen Namen), dann kannst Du den ganzen hosts Aufwand vergessen, dieser Name funktioniert grundsätzlich auch. Du könntest also auch hingehen und den Xampp Rechner umbenennen in "axion.local" (das kann man in den Systemeinstellungen ändern), danach musst Du den Rechner neu starten und dann können zumindest auch die anderen Windows Rechner mit diesem Namen zugreifen, ich vermute auch das Smartphone kann das. Wenn ich ehrlich bin, ich habe mir noch nie eine Dokumentation angeschaut, warum das funktioniert und was die Voraussetzungen dafür sind. Ich vermute, dass das irgendwo in der Namensauflösung DNS eingetragen wird. Fakt ist ja auch, dass Du die jeweiligen Rechnernamen auch im Router nachsehen kannst, welche Rechner aktuell angemeldet sind. Also der jeweilige Rechnername ist allen bekannt. Der Nachteil ist allerdings offensichtlicht: es ist natürlich nur ein einziger Name möglich - wenn Du verschiedene Projekte unter verschiedenen VirtualHosts laufen lassen willst, dann kommst Du um die hosts Datei nicht herum.