cách rewrite url trong php là một trong những từ khóa được search nhiều nhất trên google về chủ đề cách rewrite url trong php. Trong bài viết này,cachthietkeweb.vn sẽ viết bài viết Huongs dẫn các cách rewrite url trong php mới nhất 2020.
Huongs dẫn các cách rewrite url trong php mới nhất 2020.
URL Rewrite như thế nào ?
Có bạn hỏi làm thế nào tạo được các đường kéo đẹp như các trang trên mạng? đầu tiên chúng ta hãy tìm hiểu cơ chế việc này:
– Rewrite Engine là một phần dịch vụ của Webserver được dùng để thay đổi URL (đường dẫn trên trình duyệt) sang một dạng khác với nhiều mục đích khác nhau.
– Kỹ thuật được nói đến là URL Rewriting và nó đem lại 1 số tiện dụng sau:
- sử dụng cho URL trở nên gần gũi với người dùng cũng như không khó khăn với các tìm kiếm Engine (bộ máy tìm kiếm).
- tăng cường cấp độ bảo mật của website bằng việc giới hạn bị khai thác các liên kết cần thiết.
Bản chất của việc Rewrite này các bạn đủ nội lực ảnh dung giống như khi bạn gõ 1 đường link lên trình duyệt giống như sau: http://domain.com/news/2014/24/04 thì đây là đường kéo không có thực, và khi request đến Webserver nó sẽ đổi lại thành đường dẫn thật giống như http://domain.com/index.php?mod=news&year=2014&day=24&month=04(có thể là giống như thế này vì có nhiều mẹo rewrite).
A.Đối với Server Apache:
1.Kích hoạt mod mod_rewrite có sẵn trong Apache:
– Bẳng phương pháp cấu hình trong file httpd.conf.
– bên cạnh đó, môi trường Shared hosting mặc định đang hỗ trợ.
2.Tạo 1 file .htaccess thư mục gốc của website của bạn có nội dung như sau:
đầu tiên bật Rewrite Engine:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
Tiếp đến là viết cú pháp RewriteRule:
RewriteRule ^Virtual_Path Real_Path
Ví dụ: topic_1.html thành index.php?topic=1
RewriteRule ^topic_([0-9]*).html index.php?topic=$1
Ví dụ: article/1/page/2 thành index.php?article=1&page=2
RewriteRule ^article/([0-9]*)/page/([0-9]*) index.php?article=$1&page=$2
Cú pháp để viết các Rule này như hướng dẫn viết của biểu thức chính quy Regular Expression. gợi ý giống như sau:
(.*) nhận toàn bộ các giá trị.
([0-9]*) chỉ nhận các giá trị là số, từ 0-9.
([a-zA-Z]*) chỉ nhận các trị giá là chữ cái, từ a-z và A-Z.
bên cạnh đó, bạn còn có thể nghiên cứu thêm tại Apache mod_rewrite.
B.Đối với Server IIS:
xem qua setup và cấu hình : IIS Mod_Rewrite
IIRF: dùng để cấu hình Rewrite URL cho các website trên Cloud Windows host
C.Tài liệu tham khảo:
Rewrite_engine
Ngoài các cách thức như trên để dễ dàng các bạn có thể tạo ra những bí quyết khác nhau để làm cho URL trở nên xinh và thân thiện. Dưới đây là 1 số gợi ý cụ thể:
mẹo 1 :
http://domain.com/index.php/news/2014/24/041
Nhìn có vẻ rất giống với kiểu rewrite ở trên nhưng không giống ở chỗ đây là đường kéo thật sự của website.
Đường dẫn này hiểu như là 1 request đến file index.php với Query String là /news/2014/24/01, các bạn tách Query String này ra rồi dùng theo mục đích của mình.
cách 2 :
http://domain.com/index.php/news_2014_24_04.html
Gần giống hướng dẫn 1 ở trên nhưng đường dẫn không giống thân thiện với đuôi html, dễ dàng cho các search engine search nội dung.
mẹo 3 :
http://domain.com/index.php?q=news/2014/24/04
Cũng gần giống mẹo 1 nhưng nó rạch ròi hơn, nó được dùng trong FrameWork Drupal của PHP.
Và đủ sức có nhiều mẹo khác nữa mà bạn đủ nội lực tự nghĩ ra hoặc đủ sức sử dụng hướng dẫn mã hoá Query String chẳng hạn.