Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 6. 5. 2012, 13:33:12
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] |
||
Časová prodleva: 11 let
|
0