Přihlásit se

Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)

Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.

Nová verze webu a staré odkazy s přesměrováním

13. dub 2015 14:14 - 13. dub 2015 16:21 #121321
Zdravím,

při změně webu včetně struktury, kde jsou ale samotné články zachovány potřebuji přesměrovat jejich původní NO SEF URL na SEF URL. Mám nastavené SEF URL v systému, zprovozněn htaccess, a URL se správně generují v rámci webu. Ale u zaindexovaných odkazů se škaredým odkazem si nevím rady.

Předpokládal jsem, že bude stačit něco takového zadat do htaccess:
Code:
RewriteRule ^index.php?option=com_content&view=article&id=85&Itemid=93$ http://www.domena.cz/nové-url [R=301,L]

Ale to nefunguje. Odkaz stále zůstává ten původní a nikam se nepřesměruje

Po různém testování jsem zjistil, že hlavní problém je, že nejde přesměrovat samotné domena.cz/index.php na www.domena.cz . Takže pokud se vyskytuje i jako součást url, tak to dopadne stejně. Pokud se snažím přes RewriteRule přesměrovat funkční SEF URL na jinou SEF URL také to není problém.

Pročetl jsem všechny možné postupy, jak se zbavit index.php, ale všechny pojednávají o případu, když není v systému joomly zapnutý SEO. V tomto případě zapnuté je, a odkazy SEF SEO vypadají v pořádku - domena.cz/nejaky-odkaz.
Kde se např. setkáme s odkazováním na index.php i když už je zapnuté SEF URL je např. chybová stránka, kde je v základní šabloně na toto odkazováno.

13. dub 2015 16:36 - 13. dub 2015 16:38 #121324
Odpověď od Bong
Moderátor
Zkuste si to trochu nastudovat, je to vcelku jednoduché. Půjčím si nejjednodušší příklad v www.jakpsatweb.cz :

RewriteEngine on
RewriteRule pozadovany-soubor\.html /vysledny-soubor.html [R]

V čem myslíte, že se to liší od toho vašeho?

www.jakpsatweb.cz/server/mod-rewrite.html
www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html

I'm sorry, my responses are limited...you must ask the right questions.

13. dub 2015 18:12 #121327
Odpověď od Cony
Moderátor
Nebo použijte přímo komponentu přesměrování v Joomle - povolíte plugin, a v komponentě jen zadáváte staré URL - nové URL. V pluginu si navíc můžete povolit zachytávání 404 stránek a tak zjistíte kam Vám ještě lidi lezou, a co nemáte přesměrované.

13. dub 2015 22:07 - 13. dub 2015 22:17 #121330
Odpověď od superbobo75
Uživatel
Jestli myslíte tím RewriteEngine on, tak v tom se to neliší. Protože píšu, že SEO URL mám v systému zapnuté, tedy včetně nastavení htaccess kde je standardně odkomentované RewriteEngine on. Takže jsem popisoval jen to, co by bylo navíc od základního vzhledu joomla htaccess.
Pokud něco jiného, tak asi špatně koukám, a ty další prvky jako ^$r-301,L nemají vliv na nefunkčnosti toho, co popisuji.
Pokud zadám do htaccess toto: RewriteRule ^test$ www.domena.cz/new-test [R=301,L] - tak mi to v pohodě funguje

Ad Cony:
s tím to pluginem v uvedeném případě taky nefunguje. Zkoušel jsem to i na úplně nové joomle. Funguje to v případě, že odkaz není funkční A to ještě v případě, že odkaz dříve odkazoval na nějakou komponentu, tak to při přesměrování zobrazí pokaždé např. toto:

Upozornění
Při nahrávání komponenty došlo k chybě: com_joomgallery, Komponenta nebyla nalezena

13. dub 2015 22:45 #121331
Odpověď od Cony
Moderátor
Takže pokud tomu rozumím, řešíte

1/ přeměrování non SEF URL na SEF variantu u stávajících funkčních odkazů, kde Vás štve jen to, že je google indexuje s nehezkým URL - tady by Vám mohl pomoci nějaký plugin

2/ přesměrování již nefunkčních URL, které končí chybou 404, kamsi jinam - tady Vám musí fungovat ten plugin přesměrování.
Zkoušel jsem např:
www.example.com/index.php?option=com_blbost&view=contact&id=1
nasměřovat na /kontakt a v pořádku to projde. Zapněte si to zaznamenávání 404 URL a jen doplňujte kam to má jít, jen to nenchávejte dlouho zaplé, nebo to máte za chvíli plné pokusů o zjišťován složky phpMyAdmin apod. od robotů.

13. dub 2015 22:49 #121332
Odpověď od Cony
Moderátor
Ad RewriteRule - s parametry nelze takto pracovat, musel by jste si podmínku složit cca takto:
Code:
RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=85&Itemid=93$ RewriteRule ^index\.php$ /nova-stranka [L]
Ale řešil by jste to pro všechny možné kombinace parametrů - nějaký plugin bude v tomto spolehlivější řeení.

Powered by Fórum