Autor Zpráva
nethor
Profil
Mám hosting u Wedosu a používám i jejich výchozí htaccess, řeším problém se subdoménami. Adresáře pro subdomény jsou umístěny v adr. 'subdom'.

Současné nastavení funguje tak, že , když adresář neexistuje, podstrčí se index, tím však vzniká duplicita, potřeboval bych místo podstrčení nastavit přesměrování .

Zkoušel jsem přidat podmínku, ale ta končí ve smyčce (nevím proč):
# přesměrování na index, když není vytvořen adresář pro subdom.
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{REQUEST_URI} !^www
RewriteCond %{HTTP_HOST} ^(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%1 !-d
RewriteRule (.*) / [R=301,QSA,L]



orig. htaccess je:
# 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]
Davex
Profil
Řešení tohoto problému bude asi složitější a musí se to důkladně otestovat, ale základ by mohl být založen na tom, že se neexistující domény a subdomény nikam nepřepisují, takže zůstává původní cesta. Jako cíl přesměrování by také měla být absolutní adresa. Pravidlo patří za všechna ostatní přepisovací pravidla.

# hrubý nástřel, který asi nebude fungovat a bude potřeba doladit
RewriteRule !^/?(domains|subdom)/ http://www.example.com/ [R,L]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0