Ako na pekné URL adresy

Od Peter Tokoš

URL adresy podstránok úzko súvisia so SEO optimalizáciou. Obzvlášť sa je potrebné tomuto problému venovať, ak je navigácia vo webových stránkach riešená napr. prostredníctvom prepínača switch(). Ak  používame tzv. „pekné“ URL adresy, prispieva to k posilňovaniu SEO. A presne o to ide, aby webové stránky dosahovali čo najlepšie pozície vo vyhľadávačoch.

Ak je navigácia vo webových stránkach riešená prostredníctvom prepínača switch(), ten je umiestnený zvyčajne v súbore index.php, prostredníctvom ktorého sa bude obsah jednotlivých podstránok zobrazovať.  Princíp takejto navigácie je nasledovný:

Link odkazu má špeciálny tvar:

<a href="index.php?id=vyrobky">[výrobky]</a>

Po kliknutí na tento odkaz sa celý obsah atribútu href objaví v URL riadku prehliadača.  Prostredníctvom superglobálnej premennej $_GET[‘ ‘] sa switch môže dozvedieť z URL riadku, čomu je rovný identifikátor id. Musíme ho však zapísať ako   $_GET[‘ id‘]. Ak sa pozrieme na náš link, vidíme, že id je rovné reťazcu „vyrobky“. Switch následne vyhľadá vetvu, ktorá sa volá „vyrobky“ a vykoná  príkaz include, ktorý patrí tejto vetve a pomocou ktorého bude vložený obsah z podstránky do indexu. Podstránky nesmú obsahovať kostru html ako napr. doctype, head, body, meta značky, title a pod. To všetko je už súčasťou súboru index.  

Kód v súbore index.php môže vyzerať nasledovne:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>preklik cez switch()</title>
  </head>
  <body>
    <header>
      <h1>preklik podstránok pomocou prepínača switch()</h1>
    </header>
    <nav>
      <a href="index.php">[domov]</a>
      <a href="index.php?id=vyrobky">[výrobky]</a>
      <a href="index.php?id=archiv">[archív]</a>
      <a href="index.php?id=kontakty">[kontakty]</a>
    </nav>
    <?php

        switch ($_GET['id']) {
          default:
             include 'default.php';
            break;

          case 'vyrobky':
             include 'vyrobky.php';
            break;

          case 'archiv':
             include 'archiv.php';
            break;

          case 'kontakty':
             include 'kontakty.php';
            break;
        }
    ?>
  </body>
</html>

Pri tomto spôsobe preklikávania dostávame URL adresu v tvare  webovastranka.sk/index.php?id=vyrobky. Tento tvar nie je považovaný za peknú URL adresu a vôbec nelahodí prehliadačom.

Pekná URL adresa by mala mať tvar   webovastranka.sk/vyrobky

Aby sme mohli používať pekné URL adresy, potrebujeme si vytvoriť súbor s názvom .htaccess, ktorý bude umiestnený v koreňovom adresári.  Do tohto súboru je potrebné napísať tento kód:

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]

Ešte nám ostáva upraviť  linky v odkazoch do takéhoto tvaru:

    <nav>
      <a href="index.php">[domov]</a>
      <a href="vyrobky">[výrobky]</a>
      <a href="archiv">[archív]</a>
      <a href="kontakty">[kontakty]</a>
    </nav>

O ostatné sa už postará súbor .htaccess