sql >> Databasteknik >  >> RDS >> Mysql

WAMP Virtual Host fungerar inte

Först måste du ta bort exemplet dummy definitioner från din vhost-httpd.conf-fil. De finns där som bara exempel bara för att komma igång med syntaxen, och bör inte vara kvar i en aktiv conf/extra/httpd-vhosts.conf eftersom de pekar på mappar som inte finns.

Så ta bort dessa två definitioner från filen:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "g:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Andra Apache 2.4.x är IPV4 ( 127.0.0.1 ) och IPV6 (::1) medveten så dina hosts filen ska se ut så här med definitioner för både IPV4- och IPV6-versioner för varje webbplats. Webbläsaren kan godtyckligt använda båda, så du behöver båda men kommer förmodligen att använda IPV6-nätverket framför IPV4 om båda faktiskt är aktiva på din PC.

127.0.0.1   localhost
::1  localhost

127.0.0.1   mysite.dev
::1  mysite.dev

Prova nu på de 2 virtuella värdarna som faktiskt finns på ditt system som Virtual Host-definitionen :

<VirtualHost *:80>
    DocumentRoot "g:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    <Directory  "G:/wamp/www">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "g:\wamp\www\mysite\public"
    ServerName mysite.dev
    ServerAlias www.mysite.dev
    ErrorLog "logs/mysite-error.log"
    CustomLog "logs/mysite-access.log" common
    <Directory  "G:/wamp/www/mysite/public">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

<Directory>....</Directory> avsnittet i <VirtualHost>....</VirtualHost> avsnittet talar om för Apache vilka IP-adresser det är tillåtet att acceptera anslutningar från, så använd Apache 2.4-syntaxen Require local begränsar åtkomsten så att endast datorn som kör WAMPServer, dvs. Apache, kan ansluta till någon av dessa webbplatser.

Undvik att blanda Apache 2.2-syntax och Apache 2.4-syntax tillsammans i samma definition. Så använd inte

Order Allow,Deny
Allow from all

och

Require all granted

i samma definition. Du använder Apache 2.4 så använd Apache 2.4-syntaxen.

Om du upptäcker att du vill tillåta andra datorer i ditt lokala nätverk att se din webbplats, t.ex. arbetskamraten eller barnen etc, kan du lägga till denna syntax till en eller flera av dina virtuella värddefinitioner.

Tillåt bara en annan dator på din webbplats

Require local
Require ip 192.168.1.100

eller 2 andra datorer

Require local
Require ip 192.168.1.100, 192.168.1.101

Eller för vem som helst på ditt lokala nätverk, använd bara de tre första av de fyra kvartilerna i ip-adressen.

Require ip 192.168.1

Undvik också att använda syntaxen som tillåter åtkomst var som helst, dvs.

Require all granted  <--Apache 2.4 syntax

or 

Order Allow,Deny     <-- Apache 2.2 syntax
Allow from all    

Det kan lösa dina problem på kort sikt, men väntar bara på att fånga dig någon gång senare när du bestämmer dig för att du vill visa din sida för en vän/klient/chef. Om du kommer till stadiet av Port Forwarding din router så att världen släpps in i ditt nätverk som skulle orsaka ALLA DINA WEBBPLATSER för att bli tillgänglig för världen.

Bättre att ändra ONE Virtual Host-definitionen för den EN sida du vill att folk ska se för testning/skryt från Require local till Require all granted och tillåt endast den enstaka platsen att vara åtkomst från internet.

När du har gjort alla dessa ändringar kom ihåg att starta om Apache.

Om du också ändrar hosts-filen för att göra ändringarna aktiva bör du antingen starta om eller köra dessa kommandon från kommandoraden i ett kommando som Windows startade med Runs as Administrator alternativ.

net stop dnscache
net start dnscache
ipconfig /flushdns


  1. Lära 2 med flera index

  2. Mysql hur man går med i tabeller

  3. Hur kopierar jag SQL Azure-databas till min lokala utvecklingsserver?

  4. Hämta namnet på anropsproceduren eller funktionen i Oracle PL/SQL