Thiết lập mod_rewrite để làm gọn URL dễ đọc và dễ nhớ

Rate this post

Mod_rewrite của Apache là cách hiệu quả và dễ dàng nhất để kiểm soát URL. Việc chỉnh URL được thực hiện từ phía server và có thể tạo URL gọn gàng, thân thiện với người dùng. Như tên gọi, nó sẽ viết lại URL theo ý bạn. Đây là cách dễ nhất để làm gọn gàng URL website. Trong bài hướng dẫn này, chúng tôi sẽ giải thích mod_rewrite là gì, vì sao nó hữu dụng và làm thế nào để thiết lập nó trên VPS chạy Apache!

mod_rewrite là gì?

Khi người dùng nhập URL trên web, mod_rewrite sẽ kiểm tra lại các quy tắc được định nghĩa của nó để thay thế và tạo ra URL mới. Quy tắc này dựa trên một mẫu và từ khóa nhất định.

Vì sao mod_rewrite hữu dụng?

Ưu điểm lớn nhất của mod_rewrite là nó sẽ làm gọn URL, dễ hiểu cho người dùng mà không phải là chuỗi số khó nhớ nữa.

Những URL này cũng thân thiện với trình tìm kiếm. Các bộ máy tìm kiếm sẽ tra ra URL này nhanh hơn. Hãy xem các URL bên dưới:

  1. URL1: http://modrewriteexample.com/client.php?id=A786#234QA
  2. URL2: http://modrewriteexample.com/client/=A786#234QA/
  3. URL3: http://modrewriteexample.com/client/Martha/

3 URL ở trên rõ ràng URL thứ 3 dễ đọc và dễ hiểu hơn thứ 1, và thứ 2. Mod_rewrite có khả năng tạo ra loại URL gọn gàng như vậy.

Làm thế nào để thiết lập mod_rewrite trên VPS Linux?

Hãy nhớ, trước khi bắt đầu, bạn cần truy cập VPS sử dụng SSH! Hãy xem qua hướng dẫn PuTTY sau nếu gặp vấn đề. Sau khi truy cập SSH, bạn có thể thiết lập mod_rewrite theo quy trình sau:

1. Cài đặt Apache

Chúng ta sẽ dùng Ubuntu 18.04 làm ví dụ. nó có bộ cài đặt tích hợp – apt-get. Trước khi cài đặt hãy cập nhật installer này trước:

sudo apt-get update

Giờ bạn cài đặt apache2 bằng lệnh:

sudo apt-get install apache2

2. Kích hoạt mod_rewrite

Chúng ta sẽ kích hoạt mod_rewrite bằng lệnh sau:

sudo a2enmod rewrite

Sau đó khới động lại Apache:

sudo service apache2 restart

3. Tạo file .htaccess

Quy tắc viết lại URL phải được định nghĩa trước. .htaccess là file chứa thông tin định nghĩa này. Server sẽ dùng chúng và nếu có lỗi gì trong file này, server trả về thông báo lỗi cho bạn. Bạn có thể tạo quy tắc rewrite bất kỳ lúc nào trên file này.

File .htacess phải được tạo trong thư mục gốc của bộ cài website

Chạy lệnh sau để truy cập file .htaccess:

sudo nano /var/www/html/.htaccess

Nó sẽ tạo ra file .htaccess nếu chưa có và mở file đó ra. Giờ bạn có thể lưu lại và thoát bằng phím CTRL+OCTRL+X lần lượt.

Tiếp theo chúng ta sẽ mở file 000-default.conf đặt tại thư mục /etc/apache2/sites-enabled/ bằng lệnh:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Bên trong file copy đoạn code sau đặt phía sau <VirtualHost *:80>:

<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow, deny allow from all </Directory>

Lưu lại bằng CTRL+O và thoạt bằng CTRL+X. Để có hiệu lực, khởi động lại server Apache.

4. URL Rewrite

URL rewrite viết lại URL và chuyển thành đường dẫn thực tế. Nó phải có:

Giờ, chúng ta sẽ đặt quy tắc rewrite để chuyển người dùng tới trang About_us.html, nếu URL yêu cầu là http://ip/Aboutus

Để chạy rewrite rule thành công, bộ rewrite engine sẽ được bật. Điền lệnh bên dưới để chạy file .htaccess.

RewriteEngine on

Dòng tiếp theo sẽ là rewrite rule:

ReWriteRule ^About_us$ Aboutus.html [NC]

Cú pháp trên có thể rắc rối, chúng tôi sẽ giải thích cho bạn:

2 dòng này kết hợp lại sẽ có file .htaccess có nội dung:

ReWriteEngine on ReWriteRule ^About_us$ Abouts_us.html [NC]

Vậy đó! Chúng ta đã tạo được một rule cho mod_rewrite!

Lời kết

URL gọn gàng là mấu chốt để một website có thể thành công. TỪ khóa rất quan trọng trong việc khiến người dùng ghi nhớ URL mà còn cho bộ máy tìm kiếm dễ tìm thấy nữa, tức là hỗ trợ thêm cho SEO! Có hàng trăm rules bạn có thể tạo và viết. Nhưng giờ bạn đã biết khái niệm cơ bản rồi, bạn sẽ nhanh chóng sử dụng được mod_rewrite thôi! Hẹn gặp bạn ở bài hướng dẫn tiếp theo

0973.393.165