Kỹ thuật viết lại đường dẫn url thân thiện - Rewrite URL với file .htaccess - Lập trình website thật dễ

Kỹ thuật viết lại đường dẫn url thân thiện – Rewrite URL với file .htaccess

Xin chào các bạn mình là Hợp ,

Hôm nay mình sẽ hướng dẫn mọi người kỹ thuật viết lại đường dẫn URL thân thiện . Đây là 1 kỹ thuật SEO Onpage mà bất kỳ 1 lập trình viên web PHP nào cũng cần nắm được

Rewrite url sử dụng htaccess hay còn gọi là đường dẫn thân thiện trong PHP là một kỹ thuật sử dụng mod url rewrite của máy chủ Apache để viết lại đường dẫn của trang website cho nó gọn và đẹp, việc viết lại đường dẫn như vậy có tác dụng thân thiện với người dùng, đường dẫn thân thiện giúp người dùng dễ hiều và dễ nhớ hơn đồng thời nó cũng có tác dụng vô cùng lớn với các bộ máy tìm kiếm như Google, Bing…

Việc đưa các từ khóa vào đường dẫn của trang web có tác dụng SEO rất tốt , ở phần viết lại đường dẫn Url cho website này chúng ta sẽ bắt gặp những chuỗi, biểu thức Regular Expression.

File .htaccess là gì, đơn giản nó chỉ là một file cấu hình máy chủ apache trên server chứa website của bạn, các bạn có thể dùng editor bất kỳ tạo ra một file có đuôi mở rộng là .htaccess, file này không có tên các bạn nhé. Sau đó lưu vào thư mục root của website ( root là folder web của bạn, file .htaccess ngang hàng với index.php )

1

Để sử dụng được tính năng rewrite url này các bạn nhớ bật mod rewrite lên.

– File .htaccess, để bắt đầu rewrite, dòng lệnh đầu tiên trong file .htaccess

RewriteEngine On

Dòng lệnh RewriteEngine On cho apache biết ta đang bắt đầu rewrite url, sau khi đã khai báo RewriteEngine On thì chúng ta có thể bắt đầu quy ước các url theo ý của mình.

Khi các bạn rewrite lại url thì lúc này bạn sẽ có 2 url là url cũ và url mới, cái mà bạn mới viết lại đường dẫn là url ảo và url cũ là url thật. Khi nhập vào trình duyệt url ảo thì tự động apache sẽ đọc file .htaccess và so sánh với url thực sau đó sẽ chuyển đến trang đích.

– Quy ước các url

Để bắt đầu rewrite url mới trong htaccess ta sử dụng hàm RewriteRule

RewriteRule "url_ảo" "url_thực"

Ví dụ

RewriteRule "^([a-zA-Z0-9+]).html$ index.php?page_layout=$1"

Đường dẫn index.php?page_layout=dich-vu  được chuyển sang dich-vu.html

22

1. .htaccess là gì?

File .htaccess (hypertext access) của Apache là một file cấu hình sử dụng cho các web server chạy Apache, có tác dụng trên thư mục hiện hành và tất cả các thư mục con. Đồng thời .htaccess dùng để thiết lập các tùy chọn: thực thi hay loại bỏ các chức năng, tính năng của Apache. Vì vậy, để quản lí truy cập vào website của mình, đơn giản bạn chỉ việc soạn thảo một file .htaccess, và lưu nó vào thư mục root của website.

2. Những chú ý quan trọng

  • Một lỗi cú pháp nhỏ (thậm chí là một khoản trắng) trong cấu hình .htaccess cũng khiến website của bạn hoạt động không được bình thường như trước.
  • Do vậy trước khi điều chỉnh .htaccess, bạn nên backup cẩn thận dữ liệu, nếu có trục trặc xảy ra, việc khôi phục trở nên đơn giản.
  • Bạn phải đảm bảo file này được ấn định một mức độ bảo mật nhất định, tránh những truy cập bất hợp pháp từ bên ngoài (xem, sửa, xóa) những thông tin cấu hình này. Để làm được như vậy, bạn nên chmod file.htaccess644, về chmod bạn có thể tìm hiểu ở nhiều tài liệu ngoài Internet.
  • Trường hợp bạn không có quyền cấu hình trên httpd.conf của Apache thì việc sử dụng .htaccess rất hữu ích cho nhu cầu của bạn.

3. Công dụng phổ biến

  • Authorization, authentication
  • Rewrite URLs
  • Blocking
  • SSI
  • MIME types
  • Tùy chỉnh Error Page
  • Kiểm soát Cache

4. Ưu điểm

  • Thực thi ngay lập tức: Vì htaccess được đọc trên mọi yêu cầu , những thay đổi được thực hiện trong những tập tin này có hiệu lực ngay lập tức – như trái ngược với các tập tin cấu hình chính mà đòi hỏi các máy chủ được khởi động lại để các thiết lập mới có hiệu lực.
  • Hỗ trợ người dùng không có đặc quyền: cho phép người dùng cá nhân có khả năng thay đổi cấu hình trang web của họ trong khi các tập tin cấu hình máy chủ chính không cần phải được thay đổi

5. Nhược điểm

  • Giảm hiệu suất: cụ thể, khi được cấu hình để sử dụng .htaccess, thì Apache sẽ tìm kiếm tất cả những folder có chứa .htaccess để thực thi, và nó sẽ thực thi tất cả những file .htaccess tìm được. Do vậy, sẽ làm website của bạn trở nên ì ạch một cách không cần thiết.
  • Bảo mật: việc cho phép người dùng cá nhân thay đổi cấu hình của một máy chủ có thể gây ra vấn đề liên quan đến bảo mật nếu không được thiết lập đúng cách.

6  Ý nghĩa ký hiệu định nghĩa trong .htaccess

# : cho phép server bỏ qua dòng này.
[F] : Forbidden, hướng dn server trvli 403 cho client.
[L] : Last rule, hướng dn server ngng ghi li sau khi mt chthị đã được xlý.
[N] : Next, chdn cho Apache trvlut rewrite cho ti khi tt ccác chthrewrite được hoàn tt.
[G] : Gone, chdn server chuyn thông đip Gone.
[P] : Proxy, chdn server sdng các request cung cp bi mod_proxy.
[C] : Chain, chdn server gn lut trước vi lut sau nó.
[R] : Redirect, hướng dn Apache đưa ra mt chuyn hướng.
[NC] : No case, xác định bt ctrường hp nào liên quan ti nó là vô lý (Không thxy ra).
[PT] : Pas Through: chdn mod_rewrite để vượt qua cơ chế ghi li URL cho các xlý xa hơn.
[OR] : Or, là cú pháp logic bình thường (biu thc kết hp đúng khi mt trong hai biu thc con ca nó đúng).
[NE] : No Escape: hướng dn server lc đầu ra.
[NS] : No Subresquest: hướng dn server gichthnếu là mt request con tbên trong.
[QSA] : gn thêm chui truy vn vào cui URL.
[S=x] : Skip: chdn server dng li x lut.
[E=variable :value (http://variablevalue/)]: Environment Variale: chỉ dẫn server thiết lập giá trị tài nguyên.
[T=MIMEtype] : Mime Type cho phép website truy xut nhiu định dng file.
[] : xác định mt tp các ký ttrong đó bt cký tnào có trong ngoc xut hin sẽ được match.
[]+ : tp các ký ttrong đó bt ckết hp nào vi nó cũng được match.
[az] : match vi tt ccác ký ttaz, theo bng chcái. Có thcó thêm: [azAZ].
a{n} : xác định ský tsmrng cùng vi ký tự đầu, tc là khi match được ký tự đầu sly thêm bao nhiêu ký ttiếp theo. VD:x{3} sly: xs, xad,
a{n,} : như a{n} nhưng có thly 3 hoc nhiu hơn.
a{n,m} : như a{n} nhưng sly trong khong tn ti m.
() : nhóm các ký tli vi nhau, xem chúng như 1 đơn vị đơn l.
^ : ghi chú bt đầu chui regex.
$ : ghi chú kết thúc chui regex.
? : cho phép chn la ký t.Ví d: monzas? smatch vi monza hoc monzas.
! : mô tmt phủ định, smatch vi tt cthgì khác vi các ký tsau !
. : thhin cho bt cký tự đơn nào.
+ : match vi mt hoc nhiu ký t.
* : match vi 0 hoc nhiu ký t.
| : phép hoc logic.
\ : thêm vào trước các ký tự đặc bit để có thsdng chúng như các ký tbình thường.
.* : không có ký tnào hoc nhiu ký tbt k.
^$ : định nghĩa mt chui rng.
^.*$ : sdng để match mi th.
[^/.] : định nghĩa 1 ký tlà “/hoc..
[^/.]+ : định nghĩa bt cslượng ký tnào cha/hoc..
http:// : là một chuỗi bình thường.
^domain.* : định nghĩa mt chui bt đầu vidomain.
^domain\.com$ : xác định smrng ca chuidomain.com.
d : kim tra nếu chui là mt directory.
f : kim tra nếu mt chui là mt file.
s : kim tra nếu file trong chui kim tra có 1 giá trkhác 0.
Hai thẻ thay đổi nội dung bên dưới.
Chia sẻ kiến thức, kinh nghiệm liên quan đến lập trình và thiết kế website là niềm vui của mình. Nếu có câu hỏi hay thắc mắc làm thế nào để làm website bán hàng, giới thiệu công ty thì liên hệ mình nhé. SĐT 01632 434 165, Mình sẽ hỗ trợ hết sức có thể. Thân Ái và Quyết Thắng

Ý kiến của bạn

Fanpage Facebook
Danh mục
Lưu trữ
Bài giảng mới

Call Now