it:webove-stranky:presmerovani-htaccess

Přesměrování URL pomocí .htacess

Když dojde k nahrazení starého webu nebo zrušení článku, je důležité původní odkazy přesměrovat. K tomu slouží soubor .htaccess. Ve Wordpressu píšu přesměrování URL hned od začátku souboru, protože pluginy z Wordpressu také přidávají pravidla do souboru .htaccess a pak moje přesměrování nefungovalo. Tady jsou příklady přesměrování s komentářem.

<IfModule mod_rewrite.c>
 
RewriteEngine On
 
# specifické výjimky jako první
 
RewriteRule ^reference/?$ https://petrnosek.cz/o-mne/#reference [R=301,L,NE]
RewriteRule ^ja-janekdo/?$ https://petrnosek.cz/ [R=301,L]
 
RewriteRule ^anglicky-za-3-mesice/?$ https://petrnosek.cz/blog/ [R=302,L]
 
RewriteRule ^tag/janekdo-cz/?$ https://petrnosek.cz/ [R=301,L]
 
# Hromadné přesměrování
RewriteRule ^tag/(.*)/?$ https://petrnosek.cz/blog/tag/$1/ [R=301,L]
RewriteRule ^category/(.*)/?$ https://petrnosek.cz/blog/category/$1/ [R=301,L]
 
</IfModule>
  • [R=301,L] - Značí, že se jedná o trvalé přesměrování (301) a že pokud pravidlo odpovídá, další pravidla nebudou zpracovávána (L znamená 'last').
  • /? řeší problém, že na konci url může být lomítko nebo nemusí. Je potřeba pokrýt oba případy.
  • pokud používám v URL kotvy - znak '#', je potřeba do přesměrování napsat NE - výsledek bude [R=301,L,NE]
  • pokud chci pouze dočasné přesměrování, pak se oužije kód [R=302]. Kód R=302 ve vlajkách pravidel značí, že se jedná o dočasné přesměrování. Prohlížeče obvykle na dočasné přesměrování nereagují tak striktně jako na trvalé (301) a nepamatují si ho dlouhodobě, což může být užitečné, pokud plánujete v budoucnu změnit cílovou URL.
  • it/webove-stranky/presmerovani-htaccess.txt
  • Poslední úprava: 2023/06/12 12:25
  • autor: Petr Nosek