Portál AbcLinuxu, 16. července 2025 15:06


Dotaz: "Automatický" VirtualHost s viacerými doménami druhého rádu

28.4.2008 12:35 Peter
"Automatický" VirtualHost s viacerými doménami druhého rádu
Přečteno: 371×
Odpovědět | Admin
Dobrý deň Vám prajem. Mám na jednom serveri niekoľko domén druhého rádu (domena1.sk, domena2.eu, ...) a potreboval by som vyladiť k dokonalosti vhost.conf. Teraz je takýto:
NameVirtualHost *:80

<VirtualHost *:80>
  ServerAdmin support@domain.sk
  ServerName router.domain.sk
  DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
  UseCanonicalName Off
  ServerAdmin support@domain.sk
  ServerAlias www.*
  VirtualDocumentRoot /home/server/html/virtual/DocumentRoot/%-2.0.%-1.0/public_html
</VirtualHost>

<VirtualHost *:80>
  UseCanonicalName Off
  ServerAdmin support@domain.sk
  ServerAlias *
  VirtualDocumentRoot /home/server/html/virtual/DocumentRoot/%-2.0.%-1.0/public_html/_sub/%-3+
</VirtualHost>
Idea je taká, že:

adresu www.domain.sk bude hľadať v /home/server/html/virtual/DocumentRoot/example.sk/public_html

adresu domain.sk bude hľadať v /home/server/html/virtual/DocumentRoot/example.sk/public_html

adresu xyz.domain.sk bude hľadať v /home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/xyz

adresu www.xyz.domain.sk bude hľadať v /home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/www.xyz

Realita je zatiaľ taká, že:

www.domain.sk ide správne

domain.sk hľadá v /home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/_ čiže nesprávne

xyz.domain.sk ide správne

www.xyz.domain.sk hľadá v /home/server/html/virtual/DocumentRoot/example.sk/public_html čiže nesprávne

pričom napríklad abc.xyz.domain.sk ide správne a hľadá to v home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/abc.xyz

Pravdu povediac - potreboval by som len pomôcť s druhým VirtualHost pravidlom:
<VirtualHost *:80>
  UseCanonicalName Off
  ServerAdmin support@domain.sk
  ServerAlias www.*
  VirtualDocumentRoot /home/server/html/virtual/DocumentRoot/%-2.0.%-1.0/public_html
</VirtualHost>
a to nejakým regulárnym výrazom v položke ServerAlias aby bralo výlučne adresy typu www.nieco1.nieco2 (www.domain.sk) a nieco1.nieco2 (domain.sk)

Dúfam, že som to popísal zrozumitelne a vopred Vám ďakujem za konštruktívne odpovede.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.4.2008 21:53 xHire | skóre: 21 | blog: Linuxovník
Rozbalit Rozbalit vše Re: "Automatický" VirtualHost s viacerými doménami druhého rádu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Asi tě zklamu, ale tvůj zápis se chová podle očekávání. Prohlídl jsem si to a tady jsou nějaké mé závěry:

domain.sk hľadá v /home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/_ čiže nesprávne

Toto je správně (to, že ty to chceš jinak, je věc jiná - viz dále). Ono to nemůže hledat v .../public_html, když to nemá www., jak píšeš v pravidlu:

ServerAlias www.*

A

www.xyz.domain.sk
je taky dobře, protože naopak www. obsahuje. :-)

Musíš svůj návrh celý překopat (vč. adresářové struktury). Hlavně si rozmysli, jak chceš handlovat ty www. - jestli jako samostatné subdomény nebo jen jako aliasy. Druhá věc je, že to, co je první psané, má větší váhu. Osobně bych tedy šoupnul zápis pro subdomény jako první. Následně až domény. Budu-li uvažovat www jako alias, tak tam mezi hvězdičky nasázej příslušný počet teček (a nebo ještě lépe tam zkus nasadit regulární výraz – osobně si myslím, že by to mělo jít, ale nikdy jsem to nezkoušel). Asi bych ti i doporučil handlovat root domény jako subdoménu (www), pokud ovšem nezamýšlíš nakládat s www jinak (ale asi ne).

Kryptoměny a bločenka.
29.4.2008 15:46 Peter
Rozbalit Rozbalit vše Re: "Automatický" VirtualHost s viacerými doménami druhého rádu
OK - ešte raz. Potrebujem niečo taketo (zvýraznené):
<VirtualHost *:80>
  UseCanonicalName Off
  ServerAdmin support@domain.sk
  ServerAlias %-2.0.%-1.0 www.%-2.0.%-1.0
  VirtualDocumentRoot /home/server/html/virtual/DocumentRoot/%-2.0.%-1.0/public_html
</VirtualHost>
Ale takýto zápis bohužiaľ nefunguje.

Hlavně si rozmysli, jak chceš handlovat ty www. - jestli jako samostatné subdomény nebo jen jako aliasy.
Ako jako aliasy?

To znamená, že keď budem mať doménu abc.xyz.domain.sk tak to bude hľadať v
/home/server/html/virtual/DocumentRoot/domain.sk/public_html/_sub/abc.xyz

a doménu www.abc.xyz.domain.sk bude taktiež hľadať v
/home/server/html/virtual/DocumentRoot/example.sk/public_html/_sub/abc.xyz?

Toto sa tým pádom ako robí? Lebo by mi to aj toto relatívne aspoň trochu pomohlo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.