Autor Zpráva
Ni7R0
Profil
Marně se teď pokouším vyřešit problém, jak zlepšit tvar adres na doméně, která má několik aliasů a každý z nich vede do jiného adresáře. Momentálně je to řešeno tak, že je v kořenovém adresáři index.php s tímhle kódem:

<?php
switch (StrToLower($_SERVER['HTTP_HOST']))
{
case 'domena1.com': $path = 'domena1.com/domena1/'; break;
case 'www.domena1.com': $path = 'domena1.com/domena1/'; break;
case 'domena2.com': $path = 'domena2.com/domena2/'; break;
case 'www.domena2.com': $path = 'domena2.com/domena2/'; break;
default: $path = 'domena1.com/domena1/';
}
if (!empty($_SERVER['QUERY_STRING'])) $path.='?'.$_SERVER['QUERY_STRING'];
header('Location: http://'.$path);
?>


V podadresářích pak jsou soubory pro konkrétní doménu. Ve výsledku ale pak vypadají adresy nepěkně a určitě by to šlo vyřešit lépe přes mod_rewrite. Ale já se s ním dostal nejdál k internal server erroru nebo k zacyklení redirectu. Proto bych chtěl poprosit, zda by mi někdo pomohl s řešením tohoto problému - alespoň mě nakopl správným směrem.
ph@tE
Profil *
Do mod_rewrite zadáš toto, to by mělo fungovat:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.domena1.com
RewriteRule ^(.*) http://domena1.com/$1 [R=301]

RewriteCond %{HTTP_HOST} ^www.domena2.com
RewriteRule ^(.*) http://domena2.com/$1 [R=301]

atd.

Když někdo napíše doménové jméno bez www, tak se nic přesměrovávat nemusí (narozdíl od tvého scriptu)
Ni7R0
Profil
Takhle to bohužel nepůjde, protože na adrese http://domena2.com/ je kořenový adresář, ve kterém jsou akorát podadresáře, ve kterých jsou obsahy domén. Takže se ten redirect zacyklí. To samé, když budu přesměrovávat na domena2.com/domena2/.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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