Để dễ hiểu bạn có thể xem qua VD dưới đây!
-Đây là link bài viết của bạn khi code bằng php và chưa sử dụng Rewrite gì cả!
-Đây là link bài viết của bạn khi code bằng php và chưa sử dụng Rewrite gì cả!
1
| tutran.net/post.php?id=123&slug=tieu-de-bai-viet |
-Còn đây là link sau khi Rewrite URL với file .htaccess
1
| tutran.net/tieu-de-bai-viet-123.html |
Ưu điểm của việc sử dụng file .htaccess để Rewrite URL thì bạn đã thấy rõ qua VD trên rồi chứ :] Vậy để làm được vậy thì chúng ta sẽ đi vào ngay với từng trường hợp cụ thể nhé!
Để thực hiện được các chức năng này thì yêu cầu sever của bạn phải bật mod_rewrite, nhưng bạn yên tâm là hầu như tất cả các host đều đã hỗ trợ chức năng này, kể cả mấy host free vớ vẩn còn có cơ mà.
Trước hết bạn tạo 1 file tên là .htaccess ngang hàng với file index của bạn (nếu chưa có) hoặc chèn vào đầu file nếu đã có sẵn với các trường hợp dưới đây (từ đơn giản đến hơi hơi phức tạp).
Các cách Rewrite URL tạo URL thân thiện
1. tutran.net/post.php?id=123 –> tutran.net/post-123.html
Đây là dạng Rewrite đơn giản nhất để che dấu đuôi .php chẳng hạn.
1
2
| RewriteEngine on RewriteRule ^post-([0-9]+).html$ post.php?id=$1 |
Đơn giản bạn hiểu như sau. Phần trong ngoặc ([0-9]+) sẽ được thay thế bởi $1 mà $1 = 123
2. tutran.net/post.php?cat=laptop&type=dell&id=5537 –> tutran.net/san-pham/laptop-dell-5537/
1
2
| RewriteEngine on RewriteRule ^san-pham/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([0-9]+)/$ post.php?cat=$1&type=$2&id=$3 |
Cách thức hoạt động của nó như sau: Ngoặc đơn () thứ nhất sẽ được thay thế bởi $1 và lần lượt đến ngoặc đơn () thứ 2 và thứ 3.
– Bạn có thể xem hình ảnh sẽ miêu tả trực quan hơn
– Bạn có thể xem hình ảnh sẽ miêu tả trực quan hơn
Các ứng dụng khác của file .htaccess
1. Chuyển hướng 301
- Chuyển từ 1 trang cũ sang 1 trang mới
1
| Redirect 301 /trang-cu.html http://www.example.com/trang-moi.html |
- Chuyển hướng từ thư mục cũ sang thư mục mới
1
| Redirect 301 /folder/ http://www.example.com/new-folder/ |
- Chuyển trang từ có không có www sang có www
1
2
3
4
| Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^mysite.com RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] |
Việc này giúp bạn tránh gặp phải tình trạng trang có cả www và không có www, điều này rất quan trọng trong seo vì tránh hiện tượng trùng lặp nội dung dẫn đến bị google phạt.
- Chuyển hướng vĩnh viễn tên miền cũ sang tên miền mới
1
2
3
|
Chuyển hướng vĩnh viễn từ tên miền cũ (nơi đặt file .htaccess có đoạn code trên) sang tên miền mới (newdomain.com).
0 nhận xét:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.