Site icon Cung cấp dịch vụ Cloud VPS, Server, Hosting Việt Nam & Thế giới

Cách Thiết Lập mod_rewrite và Chuyển Hướng URL Chuẩn SEO Trên Apache

Cách Thiết Lập mod_rewrite và Chuyển Hướng URL

Giới thiệu về Mod_Rewrite

Hãy nhớ lần cuối bạn ghé thăm một trang web mua sắm, tìm kiếm món hàng cụ thể mà bạn cần mua. Khi bạn cuối cùng cũng vào được trang đó, URL có thể trông như thế này:

gizmo.com/latest_and_greatest/specific_gadgets/exactly_what_youre_looking_for

Điều này không phải vì trang web đã dành thời gian để thiết lập từng thư mục bạn cần tạo ra để mua hàng, mà là nhờ một module tiện dụng có tên Mod_Rewrite.

Mod_Rewrite cho phép bạn tạo ra những URL tùy chỉnh và đơn giản theo nhu cầu. Trên thực tế, URL thực tế có thể trông gần giống như sau:

http://www.gizmo.com/gp/itemB004RYVI0Q/ref=as_li_ss_tl?

Hướng dẫn này sẽ trình bày về việc kích hoạt Mod_Rewrite, tạo và sử dụng trang .htaccess cần thiết, và thiết lập các quy tắc chuyển hướng URL.

Nếu bạn đang tìm cách xây dựng website và cần một máy chủ mạnh mẽ để áp dụng mod_rewrite, hãy tham khảo các gói mua VPS chất lượng cao tại DataOnline – giải pháp lý tưởng để vận hành website linh hoạt và bảo mật hơn.

Setup

Các bước trong hướng dẫn này yêu cầu người dùng có quyền root.

Ngoài ra, bạn cần cài đặt Apache trên máy chủ. Nếu chưa có, bạn có thể cài đặt cho Ubuntu bằng lệnh:

sudo apt-get install apache2

Phần 1 – Cách kích hoạt mod_rewrite

Trước khi bắt đầu tạo các quy tắc chuyển hướng URL thực sự, chúng ta cần kích hoạt module mod_rewrite của Apache điều khiển các quy tắc đó. Việc này rất đơn giản:

sudo a2enmod rewrite

Lệnh này sẽ kích hoạt module hoặc – nếu nó đã được kích hoạt – hiển thị thông báo “Module rewrite already enabled”.

Phần 2 – Về tệp .htaccess

Sau khi đã kích hoạt module, bạn có thể thiết lập các chuyển hướng URL của mình bằng cách tạo tệp .htaccess trong thư mục website.

Tệp .htaccess là một cách để cấu hình chi tiết của website mà không cần phải thay đổi các tệp cấu hình máy chủ. Dấu chấm ở đầu tên tệp sẽ giúp tệp này ẩn bên trong thư mục.

Ngoài ra, vị trí đặt tệp .htaccess rất quan trọng. Các cấu hình trong tệp đó sẽ ảnh hưởng đến tất cả các nội dung trong thư mục của nó và các thư mục con bên dưới.

Bạn có thể tạo tệp .htaccess bằng một trình soạn thảo văn bản (chắc chắn phải đặt tên là chỉ .htaccess mà không có phần mở rộng hay tên khác) và sau đó tải nó lên trang web của bạn qua một ứng dụng FTP.

Ngoài ra, bạn có thể sử dụng lệnh sau, thay thế example.com bằng tên trang web của bạn, để tạo tệp .htaccess trong terminal:

sudo nano /var/www/example.com/.htaccess

Cách cho phép thay đổi trong tệp .htaccess

Để cho phép tệp .htaccess ghi đè các cấu hình mặc định của website, bạn hãy bắt đầu bằng cách mở tệp cấu hình. Lưu ý: Bạn cần quyền sudo cho bước này.

sudo nano /etc/apache2/sites-available/default

Sau khi vào tệp, tìm phần sau và thay đổi dòng có chữ AllowOverride từ None thành All. Phần này sẽ trông như sau:

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

Sau khi lưu và thoát tệp, hãy khởi động lại Apache. Các tệp .htaccess bây giờ sẽ khả dụng cho tất cả các trang web của bạn.

sudo service apache2 restart

Giờ đây, bạn đã sẵn sàng để chuyển hướng các URL của trang web.

Phần 3 – Cách chuyển hướng URL

Toàn bộ quá trình chuyển hướng URL diễn ra trong tệp .htaccess.

Nhìn chung, tất cả các lệnh chuyển hướng URL đều theo cùng một mẫu:

RewriteRule Pattern Substitution [OptionalFlags]
Dưới đây là giải thích ngắn gọn về từng phần:

Ba ví dụ chuyển hướng URL

Ví dụ 1: Đi đến Trang A, tìm Trang B

Đây là ví dụ cơ bản nhất về chuyển hướng URL: một khách truy cập gõ một URL vào trình duyệt nhưng lại được chuyển hướng đến URL khác. Dưới đây là cách thiết lập.

Giả sử bạn tạo hai trang riêng cho một website – ví dụ, một trang về Táo (apples.html) và một trang về Cam (oranges.html):

http://httpd.apache.org/docs/current/rewrite/intro.html

Sao chép mã sau vào trang Táo:

<html> <head> <title>Apples</title> </head> <body> <h1>This page is about Apples</h1> </body> </html>

Sau đó, bạn tạo trang Cam, thay thế tất cả tên trái cây cho phù hợp.

Bây giờ, mở tệp .htaccess:

sudo nano /var/www/example.com/.htaccess

Thêm các lệnh chuyển hướng URL sau vào tệp:

RewriteEngine on RewriteRule ^oranges.html$ apples.html

Lưu và thoát tệp.

Khi mọi thứ đã được thiết lập, hãy truy cập trang kết thúc bằng “/oranges.html” – tất cả thông tin hiển thị sẽ đến từ trang “/apples.html”.

Giải thích:

Ví dụ 2: Website có tham số trong URL – Cách hiển thị như thư mục con

Ví dụ đầu tiên nói về một trang web chỉ cần thay thế bằng một trang khác. Trong trường hợp dưới đây, chúng ta gặp phải tình huống phổ biến khi URL có chứa tham số.

Xem URL sau:

http://example.com/results.php?products=apple

URL này sẽ rõ ràng hơn nếu hiển thị như:

http://example.com/products/apple

Các dòng trong tệp .htaccess sẽ như sau:

RewriteEngine on RewriteRule ^products/([A-Za-z0-9-]+)/?$ results.php?products=$1 [NC]

Giải thích:

Ví dụ 3: Website có URL phức tạp – Cách làm cho gọn gàng

Tình huống này thường xảy ra khi URL quá dài và phức tạp.

Hãy lấy ví dụ URL dưới đây:

http://example.com/results.php?products=produce&type=fruit&species=apple

Mặc dù URL này có hiệu quả trong việc cung cấp nội dung đúng, nhưng nó không dễ nhớ đối với người dùng. Chuyển hướng URL sẽ cho phép bạn chuyển đổi URL này thành dạng đơn giản và rõ ràng hơn:

http://example.com/produce/fruit/apple

Để thực hiện điều này, bạn cần thêm các dòng sau vào tệp .htaccess (bạn có thể thêm nhiều phần nếu cần):

RewriteEngine on RewriteRule ^(meat|produce|dairy)/([^/.]+)/([^/.]+)$ results.php?products=$1&type=$2&species=$3

Giải thích:

Việc cấu hình mod_rewrite và .htaccess hiệu quả hơn khi bạn có quyền kiểm soát máy chủ. Nếu bạn chỉ cần thuê VPS giá rẻ để học tập hoặc vận hành web nhỏ, hãy khám phá các gói VPS tiết kiệm tại DataOnline ngay hôm nay.

Exit mobile version