Avatar billede liquid- Nybegynder
18. maj 2004 - 15:20 Der er 7 kommentarer og
1 løsning

Virtualhost - Meld fejl hvis der ingen match er. Hvordan?

Hej.

Jeg har apache 1.3.x på en linux debian, og der har længe været noget i min opsætning der irreterer mig. Jeg hoster et par domæner for nogle venner, og min konfiguration ser således ud:

NameVirtualHost *

<VirtualHost *>
    ServerName domain1.dk
    ServerAlias www.domain1.dk
    ServerRoot /blabla/bla1
</VirtualHost>

<VirtualHost *>
    ServerName domain2.dk
    ServerAlias www.domain2.dk
    ServerRoot /blabla/bla2
</VirtualHost>

...og sådan fortsætter skidtet.

Problemet er så at hvis man prøver at kalde et subdomain der ikke passer på konfigurationen, så viser den bare det første domæne. Altså:

http://domain2.dk = virker
http://www.domain2.dk = virker
http://asdwawdjhi23jasd.domain2.dk = viser domain1.dk

Ved den sidste vil jeg gerne have den bare melder en fejl. Kan det lade sig gøre, og hvis ja, hvordan?

Og lige inden i svarer "brug ServerAlias *.domain2.dk", så vil jeg lige sige at det kan jeg ikke, for i et andet sted i konfigurations filen er en masse subdomæner konfiugureret, og disse virker ikke, når man bruger ServerAlias *.domain2.dk.
Avatar billede phpwiz Nybegynder
18. maj 2004 - 15:24 #1
jo det kan du , hvis du smider det virtualhost ned under alle de subdomæner du har
Avatar billede Slettet bruger
18. maj 2004 - 15:25 #2
Er du sikker på du bruger ServerAlias rigtigt så? Jeg har nemlig gjort sådan, og det virker fint for mig...
Avatar billede liquid- Nybegynder
18. maj 2004 - 15:28 #3
phpwiz: jeg prøver lige.
pracr00n: det virkede lidt, så virkede det ikke. Det vekslede sådan lidt...
Avatar billede liquid- Nybegynder
18. maj 2004 - 15:36 #4
Nå, det her er lidt flovt. Men det virkede altså phpwiz :) Men jeg gad egentlig stadig godt vide om man kunne afvise folk hvis et request ikke passede perfekt på ens virtualhosts...
Avatar billede Slettet bruger
18. maj 2004 - 16:54 #5
Du kan vel lave en VirtualHost til *.domain2.dk, som vil smide alle der forsøger sig med et subdomain til at ryge et andet sted hen.

Hvis du så laver en anden VirtualHost oven over, til f.eks. "sdb.domain2.dk", tror jeg den vil overrule den anden...

Så kan du jo specificere hvad der skal passe og ikke skal passe.

Dette er dog rent gætteri.
Avatar billede Slettet bruger
19. maj 2004 - 15:47 #6
Prøv dette:

NameVirtualHost *

<VirtualHost *>
    ServerName fejlsider.domain1.dk
    ServerRoot /blabla/fejl
</VirtualHost>

<VirtualHost *>
    ServerName domain1.dk
    ServerAlias www.domain1.dk
    ServerRoot /blabla/bla1
</VirtualHost>

<VirtualHost *>
    ServerName domain2.dk
    ServerAlias www.domain2.dk
    ServerRoot /blabla/bla2
</VirtualHost>

I /blabla/fejl/index.html laver du så din fejlbesked. Apache gør nemlig det, at den enten tager den første VirtualHost, der passer med det forsøgte hostnavn, og ellers tager den bare den første VirtualHost.
Avatar billede tinepingvin Nybegynder
20. maj 2004 - 09:38 #7
snip: "Og lige inden i svarer "brug ServerAlias *.domain2.dk", så vil jeg lige sige at det kan jeg ikke, for i et andet sted i konfigurations filen er en masse subdomæner konfiugureret, og disse virker ikke, når man bruger ServerAlias *.domain2.dk."

jeg har erfaring for at hvis man angiver sine subdomæner inden ServerAlias *.domain2.dk så virker det på den måde at alle din subdomæner virker og dit stajernealias fanger alt andet. men *.domain2.dk skal stå efter de andre subs i conf filen. og du skal være sikker på at du har dns for dit stjernealias. sikkert noget med Cname. eller noget.
Avatar billede liquid- Nybegynder
20. maj 2004 - 20:48 #8
pacr00n: lyder som om du har fat i den lange ende.

Tak til folket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester