WebToDate/Extenze/Extenze pro zamezení funkčnosti podvržených rewritovaných URL zpráv
Funkcionalita
WebToDate umožňuje pro zprávy generování SEO-friendly URL. Místo standardního tvaru URL stránky pro zobrazení celého textu zprávy (/scripts/detail.php?id=xxx) se pak používá jiný tvar např. typu /cz/o-webtodate/technicke-informace/systemove-pozadavky/xxx/, kde xxx je interní ID zprávy. Aby tento způsob práce s URL zpráv byl funkční, musí být tvary URL nastaveny v konfiguračním souboru WebToDate a musí být instalován a konfigurován modul www serveru podporující tuto funkčnost (např. mod_rewrite www serveru Apache). Vygenerovaná URL se automaticky zapisují do pole Odkaz nadpisu databáze zpráv.
Tento systém sám o sobě ale nezajišťuje, že nejsou funkční jiná podvržená původně neplánovaná URL, tedy že kromě URL /cz/o-webtodate/technicke-informace/systemove-pozadavky/xxx/ není zároveň funkční i /cokoli/co/zde-napisete/xxx/, kde xxx je stále stejné ID zprávy. Tento problém řeší nasazení této extenze. Extenze kontroluje před zobrazením zprávy její URL tak, že jej porovnává s polem Odkaz nadpisu této zprávy. Pokud porovnání URL souhlasí nebo je URL ve výchozím tvaru, zpráva se zobrazí, v opačném případě je vyvolána chybová stránka.
Instalace
Do souboru config/_preprocess_inc.php vložte následující kód:
// - extenze Rewrite - kontrola URL
$arrModules[] = 'rewrite/_check_pre_inc.php';
Ujistěte se, že v instalaci WebToDate existuje soubor /scripts/modules/rewrite/_check_pre_inc.php.
Reference
Extenze kontroluje před zobrazením zprávy její URL tak, že jej porovnává s polem Odkaz nadpisu této zprávy. Pokud porovnání URL souhlasí nebo je URL ve výchozím tvaru (/scripts/detail.php?id=xxx), zpráva se zobrazí, v opačném případě je vyvolána http chyba 404 Not Found.
V konfiguračním souboru WebToDate může být nepovinně vložena konstanta ERROR_404 obsahující cestu k chybové stránce. Pokud je tato konstanta definována, nevyvolá extenze přímo http chybu, ale zobrazí tuto chybovou stránku.