Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

URL při mod-rewrite

29. bře 2013 09:42 #106111
URL při mod-rewrite od dajis
Uživatel
Dobré dopoledne, nikdo mi bohužel nebyl schopen poradit a vyřešit můj problém předtím, tak se pokusím dotaz předefinovat:

Mám Joomla 2.5 s několika nainstalovanými rozšířeními (jako např. JomSocial 2.8.4). Web nemám v root, nýbrž ve složce domains/mojestranka.com/, což bohužel dělá onen problém s URL, a to, že se zobrazuje jako:
Code:
http://www.mojestranka.com/domains/mojestranka.com/neco
.htaccess v root (www) mám od Wedosu, ten by měl být snad v pořádku:

#Options +FollowSymlinks
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]


Měl by být ok, přesměrování funguje, i když se zobrazuje URL s daným adresářem.

Když vypnu SEF URL v Joomle a .htaccess v adresáři /domains/mojestranka.com/, vše funguje, ale zobrazují se velmi nehezké URL, což je problém (když navíc vedou na stránky linky včetně reklamních). Když zapnu samotné SEF URL (bez .htaccess v adresáři domain/mojestranka.com/), pak se webovka nenačte a hází chybu "Webová stránka nebyla nalezena". Takže musím mít zapnutý .htaccess v adresáři domains/mojestranka.com/ (ten přiložím na konci zprávy). Takže jsem se pokusil řešit "odmazání" adresáře (domains/mojestranka.com/) z URL pomocí configuration.php a nadefinování public $live_site z '' na
Code:
'http://www.mojestranka.com/'
, což zapříčiní, že sice URL stránky se načítají v požadovaném tvaru, ale nefunguje téměř žádné rozšíření - například registrace, nelze sdílet statusy, fotky videa (Share button nedělá vůbec nic) atd..

Zkoušel jsem všechny možné varianty, které mě napadly, nebo mi někdo poradil, ale všechno bez výsledku. V posleních dnech taky uvažuji nad změnou root z www do daného adresáře, což ale musí jít v .htaccess a nevím, jak se dělá, nebo zda by to vůbec pomohlo, navíc do daného adresáře je doména umístěna záměrně, protože plánuji strukturu na multisite se sdílenou databází, tak nevím, zda změna root by v tomto případě nebyla proti tomu.

Tak a jelikož to řeším už třetí týden, tak vypisuji odměnu tomu, komu se to povede vyřešit.

Ještě slíbený .htaccess v adresáři /domains/mojestranka.com/:

## Can be commented out if causes errors, see notes above.
# Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects


RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


Moc děkuji všem, kdo se zapojí.

29. bře 2013 10:28 #106116
Odpověď od prontik
Zkušený uživatel
Nepochopil jsme proc mate joomla ve slozce Domains, ji dejte primo pod www a mate klid.

Joomla je jako puzzle. Stačí vědět jak ty dílky k sobě poskládat.

29. bře 2013 10:46 #106119
Odpověď od dajis
Uživatel
Tuším, že jsem tam důvod někde psal - je to příprava na multisite, kde všude jednoznačně píší důrazné doporučení (včetně Joomly samotné), aby to bylo právě ve složce domains, kam se pak umisťují i další domény, které budou jako slave. A těžko lze třeba 10 domén dát do www, potřebují být oddělené.

29. bře 2013 10:51 - 29. bře 2013 10:59 #106122
Odpověď od karel
Zkušený uživatel
Řešení bude ve správné kombinaci "vzájemného přepisování" definic v .htaccessu

Případy řešil i Váš webhosting:
kb.wedos.com/forum/topic/64/diskuze-ke-c...y-u-webhostingu.html
kb.wedos.com/htaccess/mod-rewrite.html
a jiné ...
kde najdete třeba i odkaz na: blog.bronzi.cz/jak-mam-nastavene-htaccess-na-hostingu-wedos/

zkoušel jste hledat na fóru hostingu, podporu hostingu?

Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.

Powered by Fórum