Powered by Blogger.

URL Rewrite là gì - Cách viết URL bài viết chuẩn SEO

URL là 1 phần nội dung của bài viết nên cần đươc tối ưu về SEO để bài viết có giá trị cao. URL rewrite là giải pháp hoàn hảo cho bạn.
Trong SEO, đường dẫn URL tốt sẽ giúp cho Google index dễ dàng hơn. URL chứa từ khóa sẽ làm tăng giá trị của bài viết. Ngoài ra, Google thích trang web tĩnh (.html) hơn là trang web động (?id=..).  URL Friendly = URL tĩnh và chứa từ khóa.

Cài đặt URL Rewrite trong PHP


Kiểm tra cấu hình Apache:
Chắc chắn rằng webserver Apache của bạn  phải có module mod_rewrite. Trên localhost, bạn có thể cài bằng cách sửa file conf/httpd.conf: tìm đến những dòng có rewrite_module và bỏ dấu # ở đầu đi.
Viết lại đường dẫn URL (mod_rewrite.htaccess, Apache)

Đầu tiên, bạn tạo 1 file tên .htaccess với nội dung như code bên dưới nhé:
Ghi chú: Trong Windows, bạn không thể tạo được file chỉ với phần đuôi mở rộng, vậy nên đặt tên là htaccess.txt rồi upload FTP lên server và đổi tên lại thành .htaccess.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Trong đó:

* Dòng đầu tiên sử dụng để bật RewriteEngine.

* Hai dòng tiếp theo là điều kiện để sử dụng Rewrite.

* Chúng ta có thể chỉ dùng dòng đầu tiên và dòng cuối cùng trong 5 dòng mã trên. Tuy nhiên nếu chỉ có 2 dòng này, những đường dẫn tới thư mục và files thực sẽ ko sử dụng được. Đó là lý do chúng ta thêm vào 2 dòng số 2 và 3. Hai dòng này sẽ đặt điều kiện để server kiểm tra xem đường dẫn mà user sử dụng là có thật hay ko, trước khi xử lý nó như 1 đường dẫn ảo.

* -d và -s là 2 giá trị mẫu dành cho việc kiểm tra THƯ MỤC và FILE thực. Ta sử dụng thêm [OR] để kết hợp 2 điều kiện này lại.

* Dòng cuối cùng phụ thuộc vào quyết định của bạn, đường dẫn ảo sẽ được đặt ra sao.

Cú pháp sử dụng RewriteRule như sau:

RewriteRule Pattern Substitution
Với Pattern là định dạng của đường dẫn ảo sẽ được áp dụng cho đường dẫn thực tương ứng (Substitution). Bạn có thể sử dụng nhiều định dạng cho những đường dẫn thực khác nhau.
Ví dụ:

RewriteRule ^tutorials/(.*)/(.*)$ /tutorials.php?id=$1&page=$2 [L]
sẽ chuyển /tutorial/X/Y (đường dẫn ảo) thành thành /download.php?id=X
RewriteRule ^download/(.*)$ /download.php?id=$1 [L]

URL Rewrite nâng cao

Trước hết bạn phải thiết kế 1 chuỗi truy vấn có thứ tự cố định.
Ví dụ:
index.php?view=tutorials&id=1&page=2
Tiếp theo, giả sử bạn quyết định chuỗi truy vấn cho mình có thứ tự như sau: vị trí đầu tiên dành cho PHÂN MỤC, vị trí thứ hai cho ID, vị trí thứ 3 cho SỐ TRANG, …. Chúng ta sẽ xử lý đường dẫn ảo qua index.php như sau:
if(!$QUERY_STRING) {
   // sử dụng điều kiện này để tiếp tục dùng đường dẫn kiểu truy vấn.
   $url=strip_tags($REQUEST_URI);
   $url_array=explode(”/”,$url);
   // vì chúng ta sử dụng $REQUEST_URI nên $url_array luôn có giá trị đầu rỗng
   // sử dụng array_shift() để cắt giá trị đầu tiên
   array_shift($url_array);
   // gán các giá trị tương ứng lấy từ đường dẫn ảo
   $_REQUEST[´view´] = $url_array[0];
}
Tất cả chỉ cần có vậy để có thể tạo được đường dẫn ảo ngắn gọn và dễ nhớ cho website của bạn và nâng cao khả năng cạnh tranh để có thứ hạng cao trên công cụ tìm kiếm.

    Blogger Comment
    Facebook Comment