Autor Zpráva
htaccess
Profil *
mám htacces od wedosu, ovšem potřeboval bych ho upravit aby fungovalo toto:
skola.cz, skola.eu a skolni.eu braly obsah z domains/skola

RewriteEngine On

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]



toto aby fungovalo pouze pro tyto domeny a pro ostatni platilo to co jsem prilozil. Jde to?
Petr Ká
Profil
Ahoj, co třeba doménové aliasy? :)
Davex
Profil
htaccess:
Před přepisovací pravidla se musí přidat jiné pravidlo, které se zarazí na první tečce v názvu serveru a dál předá jen jméno před tečkou.
RewriteCond %{REQUEST_URI} !^domains/ 
RewriteCond %{REQUEST_URI} !^/domains/ 
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+).*$ 
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d 
RewriteRule (.*) domains/%2/$1 [DPI] 

Petr Ká:
To by tam nešlo. Jde to jen na normálním webhostingu, který má plnohodnotné aliasy.
htaccess
Profil *
Davex:
děkuji za radu, ovšem nějak jsem to nepochopil.. s htaccess nejsem nijak kamarád.
problém je ten, že ty dvě domény nejsou stejné..
např.
a.cz
b.eu
a mají ukazovat stejný obsah..
Kajman_
Profil *
htaccess:
Zkuste přidat ještě jako první pravidlo
# domeny se skolou
RewriteCond %{REQUEST_URI} !^/?domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(skola\.cz|skola\.eu|skolni\.eu)$
RewriteRule (.*) domains/skola/$1 [DPI]
htaccess
Profil *
Kajman:
zkusil jsem si to upravit na ty dvě domény, ovšem jedna doména fungovala ale bez vzhledu a druhá nejela vůbec (hlásila 500 a zřejmě problém s htaccess)
Kajman_
Profil *
htaccess:
zkusil jsem si to upravit na ty dvě domény
Zkuste poslat výsledek úprav - nejlépe kompletní soubor .htaccess, případně i další z podadresářů, třeba to koliduje až tam.
htaccess
Profil *
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/?domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(anno2k70\.cz|anno-2070\.eu)$
RewriteRule (.*) domains/anno2k70\.cz/$1 [DPI]

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]


složky jsou
domains/anno2k70.cz
domains/tirus.eu
domains/soutez.anno2k70.cz
a dále podobné složky
Kajman_
Profil *
Zkuste odstranit zpětné lomítko na řádku 5
RewriteRule (.*) domains/anno2k70\.cz/$1 [DPI]
htaccess
Profil *
Kajman:
teď ta CZ nefunguje a EU ano, ale bez CSS
Kajman_
Profil *
A v adresáři anno2k70.cz žádná další pravidla nemáte?
htaccess
Profil *
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress 
Kajman_
Profil *
Ještě by se tam mohl pro jistotu zkusit přidat flag L nebo S.
RewriteRule (.*) domains/anno2k70.cz/$1 [DPI,L]
htaccess
Profil *
Kajman:
super, funguje s elkem a ted mi to prosim nekdo vysvetlete..
Kajman_
Profil *
Tipnul bych, že se postupně provedla pravidla 5 a 12. Po flagu L se pravidlo 12 prochází až po přepsání, tak už správně fungují RewriteCond. Víc by bylo vidět z rewritelogu, ale na ostrých serverech se většinou nezapíná z výkonostních důvodů.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0