htaccess – nasměrování do podadresáře

  htaccess, Nastavení, Webhosting

Při zřízení webhostingu nahrajeme do vašeho adresáře www soubor .htaccess s našimi výchozími pravidly pro nasměrování subdomén do podadresářů a nasměrování aliasů do podadresářů. Může se však stát, že vám tato naše pravidla nevyhovují, protože potřebujete mít jinak uspořádanou adresářovou strukturu. V takovém případě si můžete napsat pravidla vlastní, v nichž můžete explicitně uvést která doména má skončit ve kterém adresáři.

Pravidla umístěte do souboru .htaccess v adresáři www ve vašem webhostingu.

Příklad 1

Chceme, aby subdoména franta.example.com měla svůj obsah v podadresáři www/franta

RewriteCond %{HTTP_HOST} ^franta.example.com$
RewriteCond %{REQUEST_URI} !^/franta/
RewriteRule (.*) /franta/$1 [L]

První podmínka určuje doménu v URL adrese, druhá podmínka zabraňuje zacyklení přepisovacích pravidel, třetí řádek provede samotné přepsání.

Příklad 2

Chceme-li různé další domény do různých dalších podadresářů, uvedeme tolik pravidel, kolik je potřeba:

RewriteCond %{HTTP_HOST} ^www.nejaky-alias.com$
RewriteCond %{REQUEST_URI} !^/nejaky/adresar/
RewriteRule (.*) /nejaky/adresar/$1 [L]

RewriteCond %{HTTP_HOST} ^subdomena.nejake-domeny.com$
RewriteCond %{REQUEST_URI} !^/nejaky/jiny/adresar/
RewriteRule (.*) /nejaky/jiny/adresar/$1 [L]

Příklad 3

Pokud chceme, aby to fungovalo např. pro nějakou doménu s www na začátku i bez toho, můžeme před název bez www uvést (www\.)? – to znamená, že se „www.“ může a nemusí na začátku vyskytovat. Níže uvedené pravidlo tedy bude fungovat pro doménu www.subdomena.nejake.domeny.com i pro subdomena.nejake.domeny.com.

RewriteCond %{HTTP_HOST} ^(www\.)?subdomena.nejake-domeny.com$
RewriteCond %{REQUEST_URI} !^/nejaky/jiny/adresar/
RewriteRule (.*) /nejaky/jiny/adresar/$1 [L]

Byl pro Vás tento návod užitečný?