Sử dụng htaccess trong engine PHP
Để tạo engine cho website, trước hết cần phải làm sao để yêu cầu đến bất kỳ URL nào của site đều được xử lý bởi một file PHP duy nhất.
Việc này được thực hiện nhờ một file đặc biệt
.htaccess. Hãy tạo file này
và kích hoạt nó, bằng cách viết những dòng sau
ở đầu nội dung của nó:
RewriteEngine On
RewriteBase /
Sau đó, chúng ta có thể chỉ định file nào
sẽ xử lý URL được yêu cầu. Điều này
được thực hiện bằng lệnh RewriteRule.
Hãy xem xét hoạt động của lệnh này trong thực tế.
Ví dụ, hãy làm sao để địa chỉ /test
được xử lý bởi file index.php:
RewriteRule /test index.php
Tham số đầu tiên của lệnh RewriteRule
thực chất nhận một biểu thức chính quy.
Hãy sử dụng nó để làm sao cho
tất cả các URL đều được xử lý bởi file index.php:
RewriteRule .+ index.php
Tuy nhiên, một số địa chỉ vẫn không nên được chuyển hướng. Đó là các địa chỉ dẫn đến file tài nguyên: như CSS, JavaScript, hình ảnh và vân vân.
Hãy hủy chuyển hướng của chúng bằng lệnh
RewriteCond:
RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png)$
RewriteRule .+ index.php
Trên trang index.php, chúng ta có thể nhận được
URL được yêu cầu thông qua mảng siêu toàn cục
$_SERVER:
<?php
$url = $_SERVER['REQUEST_URI'];
?>
Tạo file .htaccess. Sử dụng nó
để thực hiện chuyển hướng tất cả các yêu cầu
đến index.php.
Hiển thị trên index.php URL được yêu cầu.