Autor Zpráva
Ing. Leonardo
Profil *
Ahoj,

na lokálu mám apache zprovozněný v XAMPP balíčku. V configu httpd.conf jsem si přidal řádek na virtual host aby se mi tahal obsah domény alfa.cz ze souboru alfa. Ale potřebuji aby se mi www.alfa.cz tahala ze složky alfa a vše krom subdomény www a bez subdomény aby se mi tahalo ze složky beta.
Zkoušel jsem to napsat takto:
<VirtualHost *>
ServerName *.alfa.cz
DocumentRoot C:\beta
</VirtualHost>

<VirtualHost *>
ServerName www.alfa.cz
DocumentRoot C:\alfa
</VirtualHost>

<VirtualHost *>
ServerName alfa.cz
DocumentRoot C:\alfa
</VirtualHost>

Ale takto mi to samozřejmně nefungovalo, pořád mně to házelo do C:\beta z alfa.cz i www.alfa.cz.
Za zmíňku ještě stojí že doménu alfa mám jen v hots takže je smyšlená a jen na ukázku.
Pokud mi někdo pomůže tak budu moc vděčný, děkuji.
Davex
Profil
Nejvíc obecný <VirtualHost> by měl být na konci a víc virtuálních serverů do jednoho adresáře lze zjednodušit pomocí ServerAlias.
<VirtualHost *>
ServerName www.alfa.cz
ServerAlias alfa.cz
DocumentRoot C:/alfa
</VirtualHost>

<VirtualHost *>
ServerName *.alfa.cz
DocumentRoot C:/beta
</VirtualHost>

Pro oba adresáře C:\alfa a C:\beta bude ještě potřeba přidat sekci <Directory> s povolením přístupu:
<Directory "C:/alfa">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

P.S. Pro větší přehlednost konfigurace je lepší ve XAMPPu používat ke konfiguraci virtualhostů soubor \xampp\apache\conf\extra\httpd-vhosts.conf.
Ing. Leonardo
Profil *
I po této změně mně přesouvá kterákoliv subdoména do alfa. V C:\Windows\System32\drivers\etc\hosts jsem přidal řádek 127.0.0.1 zkusebni.alfa.cz ale po zadání do prohlížeče se mi zobrazil obsah složky alfa na místo beta. Jakoby se zápis:
<VirtualHost *>
ServerName *.alfa.cz
DocumentRoot C:/beta
</VirtualHost>

úplně ignoroval.

Moje první ukázka neobsahovala ServerAlias kvůli pochopení problému.
Děkuji ale nejde to :-(
Ing. Leonardo
Profil *
Ještě když smažu řádek
<VirtualHost *>
ServerName www.alfa.cz
ServerAlias alfa.cz
DocumentRoot C:/alfa
</VirtualHost>

tak vše funguje tak jak má až na adresu www.alfa.cz a alfa.cz která zobrazuje C:\beta :-)
Píši: jakoby se úplně ignoroval druhý zápis, nejspíš je na to nějaký oblbovák který hledám.
Davex
Profil
Před všemi sekcemi <VirtualHost> musí být zapnuto
NameVirtualHost *
Pokud tam tato řádka je, tak nesmí být zakomentována znakem # na začátku.
Ing. Leonardo
Profil *
I po zadání NameVirtualHost * před první sekci <VirtualHost *> se mi v url: zkusebni.alfa.cz zobrazuje obsah C:/beta =(
Davex
Profil
Tak to bude ještě vadit ten žolík v ServerName v druhé sekci. Takto by to mělo fungovat:
NameVirtualHost *

<VirtualHost *>
ServerName www.alfa.cz
ServerAlias alfa.cz
DocumentRoot C:/alfa

<Directory "C:/alfa">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

<VirtualHost *>
ServerAlias *.alfa.cz
DocumentRoot C:/beta

<Directory "C:/beta">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>
Ing. Leonardo
Profil *
Tak už to jde =), moc jste mi pomohl, kdyby jsem vám to mohl oplatit tak určitě rád =).
Děkuji a nashledanou, pane Davex =)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: