Htaccess redirect – ako na to?

By | 9. júla 2010

redirectRedirect (presmerovanie) pomocou súboru .htaccess je omieľané na rozličných diskusných fórach stále dookola, preto som rozhodol, spísať tie najpoužívanejšie a najvyhľadávanie metódy presmerovania pomocou .htaccess. Uverejnené metódy využívajú 301 redirect, ktoré pre vyhľadávače značí „moved permanently“ – teda presťahované natrvalo. Týmto nastavením sa prenáša takmer všetka „šťava“ (rank) z presmerovávaného webu na nový.

Presmerovanie starej stránky na novú

Máte starú stránku a chcete ju aj s podstránkami presmerovať na novú, so zachovanou štruktúrou? V koreňovom adresári starej stránky vytvorte súbor .htaccess, napíšte do neho nasledujúci kód.

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nova-stranka.sk/$1 [R=301,L] 

www.nova-stranka.sk samozrejme nahraďte www adresou novej stránky

Presmerovanie non-www na www

Každá webová stránka by mala mať evidentné, ktorú verziu využíva. Je totižto rozdiel medzi http://stranka.sk/ a http://www.stranka.sk/. Toto nastavenie si niektoré redakčné systémy (napr. WordPress) ošetria v php kóde, no vo väčšine prípadov je vhodné ošetriť ho cez .htaccess. Ak chcete presmerovať non-www verziu na www, zapíšte do vášho .htaccess súboru nasledovný kód:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^stranka.sk [nc]
rewriterule ^(.*)$ http://www.stranka.sk/$1 [r=301,nc]

Presmerovanie stránky A na stránku B

Ak jednoducho potrebujete presmerovať jednu stránku (prípadne podstránku) na druhú, do .htaccessu v roote presmerovávanej stránky napíšte nasledujúci kód:

redirect 301 /kategoria/podstranka.htm http://www.ina-stranka.sk/kategoria/podstranka.htm

prípadne ak chcete presmerovať index jedného webu na iný web

redirect 301 / http://www.ina-stranka.sk/

alebo obdobne.

9 thoughts on “Htaccess redirect – ako na to?

  1. Mato

    Má takéto presmerovanie pri subdomenach nejaky vyznam pre vyhladavace? Dost casto uprednostnia domenu ak uzivatel zada do googlu xys tak vyhladavac najskor ponukne xys.sk a ci teda ak vytvorim na svojom serveri subdomenu xys.nieco.sk a presmerujem to 301 na svoj web bude mat nejaky vyznam?

    Reply
  2. @peter_kucerka

    @igorkulman – ak pouzivas wordpress a mas nainstalovany plugin tak by mal spider automaticky detekovat pristput z mobilneho zariadenia, resp neveim ci to pojde ale skus prikazat spiderovi presmerovanie ak je prichod z konkretnych zariadeni teda opera mini, a mobilne browsre. Zistim ako to znamy vyriesil a dam vediet.

    Reply
    1. @igorkulman

      Nepoužívam wordpress a nechcem presmerovanie na doménu m.kulman.sk kde by som mal mobilnú verziu, ale chcem aby m.kulman.sk bola akási "virtuálna" adresa, ktorá by volala kulman.sk len so skrytým parametrom.

      Reply
      1. @Jelenik

        Neviem aky mas hosting, ale jednoducho si vytvor subdomenu m a v jej zlozke vytvor htaccess a daj RewriteRule na index.php v hlavnej zlozke spolu s tym parametrom mobile=true

        Reply
  3. @igorkulman

    Ja mám na webe kulman.sk presmerovanie v štýle

    RewriteRule ^([^_][a-zA-Z0-9- _/]+)$ index.php?mr=1&cms=$1

    nedokážem však prísť na to, ako vyrobiť presmerovanie, ktoré by vyzeralo ako subdoména m.kulman.sk, presmerovávala by však na kulman.sk ale v štýle

    index.php?mr=1&cms=$1&mobile=true

    (snaha vytvoriť pevnú mobilnú verziu namiesto autodetekcie)

    Ak ma niekto pochopil, uvítam akékoľvek nápady.

    Reply
  4. Tom@S

    Tak tych presmerovanie je daleko viac, existuje rozne pre php aj ako metaznacky, alebo na RoR a ine jazyky. Este by som mozno doplnil, ze ako sicher mozeme cez GWT nastavit ktory web je kam presunuty.

    Reply
    1. exot Post author

      Toto je presmerovanie len cez htaccess a nechcel som ich davat viac naschval, prave preto, ze sa ludia stale vypytuju na tieto 3.

      Reply

Napísať odpoveď pre exot Zrušiť odpoveď