PHP движекда htaccess файлидан фойдаланиш

Веб-сайт движени яратиш учун, аввал шуни таъминлаш керакки, сайтнинг ҳар қандай URL манзили битта PHP файли томонидан қайта ишлансин.

Бу .htaccess деб аталувчи махсус файл ёрдамида амалга оширилади. Келинг, бу файлни яратиб оламиз ва унинг матни бошida шу сатрларни ёзамиз:

.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

index.php да қайтарилган URL ни чиқаринг.