Истифодаи htaccess дар муҳаррики PHP

Барои он ки муҳаррики сайтиро созем, аввал бояд тавре созем, ки дархости ҳар як URL-и сайт бо як файли PHP кор карда шавад.

Ин бо ёрии файли махсуси .htaccess анҷом дода мешавад. Биёед ин файлро созем ва онро фаъол кунем, дар аввали матнаш ин сатрҳоро навиштан:

.htaccessRewriteEngine On
RewriteBase /

Пас аз ин мо метавонем муайян кунем, ки кадом файл бояд URL-и дархостшударо кор кунад. Ин бо ёрии фармони RewriteRule анҷом дода мешавад.

Биёед ба кор кардани ин фармон дар амал назарем. Масалан, биёед тавре созем, ки нишони /test бо файли index.php кор карда шавад:

.htaccessRewriteRule /test index.php

Параметри якуми фармони RewriteRule дар аслан ибораи оддӣ мегирад. Биёед бо ёрии он тавре созем, ки ҳамаи URL-ҳо бо файли index.php кор карда шаванд:

.htaccessRewriteRule .+ index.php

Аммо, баъзе аз нишониҳо бояд ҳамон гуна боқӣ бимонанд. Ин нишониҳоеанд, ки ба файлҳои захираҳо мебаранд: ба CSS, JavaScript, аксҳо ва ғайра.

Биёед аз равона кардани онҳо бо ёрии фармони RewriteCond сарфи назар кунем:

.htaccessRewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png)$
RewriteRule .+ index.php

Дар саҳифаи index.php мо метавонем URL-и дархостшударо бо ёрии массиви суперглобалии $_SERVER гирем:

index.php<?php
  $url = $_SERVER['REQUEST_URI'];
?>
Задание 1

Файли .htaccess-ро созед. Бо ёрии он равона кардани ҳамаи дархостҳо ба index.php-ро амалӣ кунед.

Задание 2

URL-и дархостшударо дар index.php чоп кунед.