Autor | Zpráva | ||
---|---|---|---|
Xperia Profil |
#1 · Zasláno: 1. 9. 2014, 17:51:17
Ahoj,
měl bych na vás prosbu :) Na Wedosu mám jejich standardní .htaccess (viz dole) pro aliasy a subdomény a má představa je ta, že: - pokud je v seznamu vyjímek - např. pravidlo před následujícím (tři weby např. x.domena1.cz), směruje vždy do adresáře domains/x.domena1.cz/ (subdoména nebo i jen doména) - pokud není v seznamu vyjímek, nasměruje to automaticky do jediného adresáře (zde se bude generovat obsah podle $_SERVER proměnných Je to reálné? Díky moc 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] |
||
Kajman Profil |
#2 · Zasláno: 1. 9. 2014, 21:02:34
Pokud neuděláte k doménám příslušné adresáře, zůstanou takové požadavky v hlavním adresáři.
|
||
Xperia Profil |
#3 · Zasláno: 2. 9. 2014, 21:48:13
Kajmane, prosím Vás, jak výše zmíněný htaccess nastavit tak, aby se každá doména i subdoména, které bude chybět příslušný adresář, přesměroval na verzi s www.?
Když jsem přidal toto, tak to přesměrování šlo pouze pro domény (subdomény ne)a navíc tu vznikl ten problém, že u domény i subdomény, kde adresář existuje, se změní URL adresa na http://www.domena.cz/domains/domena.cz
RewriteCond %{HTTP_HOST} ^([^.]*)\.([^.]*)$ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,QSA,L] Děkuji za pomoc |
||
Kajman Profil |
#4 · Zasláno: 2. 9. 2014, 22:03:20
Možná na konci něco jako
RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,NE,L] |
||
Xperia Profil |
#5 · Zasláno: 2. 9. 2014, 22:52:19
Funguje to skvěle pokud adresář neexistuje, pokud ano, přesměruje ho to na
http://www.domena.cz/domains/domena.cz
|
||
Kajman Profil |
#6 · Zasláno: 3. 9. 2014, 10:15:55
Aha, na řádcích 10, 17, 21 a 25 není flag L. Zkuste tedy první podmínku na redirect_status nahradit za
RewriteCond %{REQUEST_URI} !^/?(domains|subdom)/ |
||
Xperia Profil |
Přidáno, problém přetrvává a navíc se to vše zacyklí.
|
||
Kajman Profil |
#8 · Zasláno: 3. 9. 2014, 19:57:48
Pokud se do nekonečna nepřidává www.www.www..., tak nebude problém v samotném pravidle, ale v kombinaci s jiným přesměrováním. Mezi jakými adresami se to cyklí?
Nejjednodušší bude asi kontaktovat podporu. |
||
Xperia Profil |
#9 · Zasláno: 5. 9. 2014, 23:04:03
Kajmane, tak tedy nebudeme to hrotit, když jde asi o tři domény :-)
Jak to napevno nastavím tak, aby domena1.cz (s www ale i bez) vždy šla do správného adresáře /domains/domena1.cz a ostatní zbytek htaccess ignorovalo? Děkuji moc :-) |
||
Kajman Profil |
Zkusil bych něco takového.
#nedoplnovat lomitka DirectorySlash Off RewriteEngine On #zakazani url s domains v adrese, kdyz to zlobi, tak zapoznamkovat nebo smazat RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteRule ^/?domains/ - [F] #zamezeni vnitrniho cykleni pro jinou domenu RewriteRule ^/?domains/ - [L] #vynuceni www, kdyz to zlobi, tak zapoznamkovat nebo smazat RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,NE,L] # jen konkretni domena, vice domen je mozne zapsat do druhe zavorky s operatorem | RewriteCond %{HTTP_HOST} ^(www\.)?(domena1\.cz)$ RewriteRule ^(.*)$ domains/%2/$1 [DPI, L] |
||
Xperia Profil |
#11 · Zasláno: 6. 9. 2014, 14:13:03
Nastavil jsem to takto a zatim to funguje :-) Diky moc Kajmane za veskerou pomoc
# WEB 1 RewriteCond %{HTTP_HOST} ^(www\.)?domena.cz$ RewriteCond %{REQUEST_URI} !^/domains/domena.cz/ RewriteRule (.*) /$1 [L] |
||
Časová prodleva: 10 let
|
0