Hello, chào mừng các bạn đã quay trở lại với series hướng dẫn xây dựng trang tin tức PHP. Ở trong bài học trước, chúng ta đã cùng nhau tìm hiểu cấu trúc folder của client, nắm rõ được chức năng và nhiệm vụ của từng file và từng folder. Bài học hôm nay, mình sẽ hướng dẫn các bạn kết nối database và rewrite url. Chúng ta bắt đầu nào!
1. Kết nối database
Thao tác này đã quá quen thuộc đối với các bạn rồi. Các bạn mở file core/init.php
lên và copy đoạn code này:
<?php // Require các thư viện PHP require_once 'admin/classes/DB.php'; require_once 'admin/classes/Session.php'; require_once 'admin/classes/Functions.php'; // Kết nối database $db = new DB(); $db->connect(); $db->set_char('utf8'); ?>
Như đã nói ở bài học trước, chúng ta sẽ sử dụng thư viện classes
trong folder admin
luôn nhé!
2. Rewrite url
Rewrite url để làm gì? Rewrite url làm cho url trong site của chúng ta trở nên thân thiện, đẹp mắt, dễ nhớ và đặc biệt rất tốt cho SEO. Để có thể làm được việc này, các bạn mở file .htaccess
lên và copy đoạn code này:
Bài viết này được đăng tại [kiso.vn]
# Bảo vệ file .htaccess <Files .htaccess> Order Allow,Deny Deny from all </Files> # Rewrite url RewriteEngine on # Url bài viết RewriteRule ^([a-zA-Z0-9_-]+)-([0-9]+).html$ index.php?sp=$1&id=$2 RewriteRule ^([a-zA-Z0-9_-]+)-([0-9]+).html/$ index.php?sp=$1&id=$2 # Url chuyên mục RewriteRule ^category/([a-zA-Z0-9_-]+)$ index.php?sc=$1 RewriteRule ^category/([a-zA-Z0-9_-]+)/$ index.php?sc=$1 # Url phân trang chuyên mục RewriteRule ^category/([a-zA-Z0-9_-]+)/([0-9]+)$ index.php?sc=$1&p=$2 RewriteRule ^category/([a-zA-Z0-9_-]+)/([0-9]+)/$ index.php?sc=$1&p=$2
Chúng ta sẽ rewrite 2 dạng url:
- Url bài viết: đây là url của trang hiển thị nội dung của một bài viết nào đó. Dạng url: http://domain.com/slug-bai-viet-id.html.
- Url chuyên mục: là url của các chuyên mục, nó sẽ show ra các bài viết thuộc chuyên mục đó. Dạng url: http://domain.com/slug-chuyen-muc.
- Vì 1 chuyên mục có thể có rất nhiều bài viết nên chúng ta phải phân trang, do đó cũng cần phải rewrite url phân trang để tạo ấn tượng tốt cho người dùng và bot của Google. Dạng url: http://domain.com/slug-chuyen-muc/so-page.
Sau đó, các bạn nhập thử các dạng url trên để test xem file đã hoạt động chưa nhé!
3. Lời kết
Bài này tương đối ngắn, hi vọng các bạn có thể nắm chắc phần rewrite url để hiểu vấn đề hơn khi code các phần sau. Qua bài tiếp theo, mình sẽ hướng dẫn các bạn xây dựng header và footer cho client nhé. Nếu có thắc mắc gì các bạn cứ comment bên dưới hoặc đăng trên group kèm theo link bài viết để được hỗ trợ sớm nhất. Cảm ơn các bạn đã theo dõi, chúc các bạn thành công!
Danh sách file tải về
Tên file tải về | Pass giải nén |
---|---|
Bài 21: PHP trang tin tức – Kết nối database và rewrite url | kiso.vn hoặc gameportable.net |
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Kết nối database2. Rewrite url3. Lời kết1. Bảo...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Kết nối database2. Rewrite url3. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Kết nối database2. Rewrite url3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Kết nối database2. Rewrite url3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Kết nối database2. Rewrite url3. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng...