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
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:
#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
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í.
Joomla je jako puzzle. Stačí vědět jak ty dílky k sobě poskládat.
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ě.