PHP motorunda htaccess faýlynyň ulanylyşy
Web sahypasynyň motorini ýasamak üçin, ilki bilen, sahypanyň islendik URL üpjünçiliginiň bir PHP faýly tarapyndan işlenmegini üpjün etmeli.
Bu, ýörite bir faýl .htaccess arkaly amala aşyrylýar.
Geliň bu faýly dörediň we ony işjeňleşdiriň,
faýlyň tekstiniň başynda aşakdaky setirleri ýazmak bilen:
RewriteEngine On
RewriteBase /
Şondan soň, haýsy faýlyň sorag edilen URL-i işlemeli
digini görkezip bileris. Bu, RewriteRule
buýrugy arkaly amala aşyrylýar.
Geliň bu buýrugyň işini amalyýetda göreliň.
Mysal üçin, /test adresiniň
index.php faýly tarapyndan işlenmegini üpjün edeliň:
RewriteRule /test index.php
RewriteRule buýrugynyň birinji parametri,
aslynda, düzgün görnüşi (regular expression) kabul edýär.
Geliň ony ulanyp, ähli URL-leriň
index.php faýly tarapyndan işlenmegini üpjün edeliň:
RewriteRule .+ index.php
Şonda-da, adresleriň bir bölegi, häzirki wagtda, gönükdirilmezlik gerek. Bu, çeşmeleriň faýllaryna gönükdirýän adreslerdir: CSS, JavaScript, suratlar we şuňa meňzeşler.
Geliň olaryň gönükdirilmegini RewriteCond
buýrugy arkaly ýatyralyň:
RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png)$
RewriteRule .+ index.php
index.php sahypasynda biz,
sorag edilen URL-i superglobal
$_SERVER massivi arkaly alyp bileris:
<?php
$url = $_SERVER['REQUEST_URI'];
?>
.htaccess faýlyny dörediň. Ony ulanyp,
ähli soraglaryň index.php faýlyna
gönükdirilmegini amala aşyryň.
index.php faýlynda sorag edilen URL-i çap ediň.