Sử dụng modRewrite tạo địa chỉ web đẹp

Thảo luận trong 'Ngôn ngữ lập trình web' bắt đầu bởi final, 11 Tháng mười 2010.

  1. Offline

    final

    • Thành Viên Mới

    Số bài viết:
    170
    Đã được thích:
    232
    Điểm thành tích:
    0
    modRewrite là một module tuyệt vời của Apache. Bài này sẽ chỉ một số áp dụng của modRewrite để đùa nghịch với các địa chỉ web.
    Các chỉ thị của modRewrite có thể đặt trong httpd.conf (phần cấu hình server, virtual host hoặc directory đều được) hoặc đặt trong .htaccess đều được.


    Cú pháp đơn giản của nó là RewriteRule tìm-cái-gì thay-thế-bằng-cái-gì, nếu muốn tìm hiểu thêm bạn có thể tham khảo Apache manual
    Để bật modRewrite trong .htaccess bạn dùng dòng RewriteEngine On. Nếu bị báo lỗi 500 thì có nghĩa là host của bạn không cài đặt module này.Để cài đặt modRewrite, bạn có thể tham khảo các bài viết về cài đặt Apache.

    1. Đổi phần mở rộng

    Thay vì dùng index.php thì bạn có thể gọi bằng index.4u mà không cần đổi tên index.php thành index.4u
    Dưới đây là đoạn mã minh hoạ
    Mã lệnh
    RewriteEngine on
    RewriteRule ^(.*)\.4u /$1.php [QSA]
    QSA (Query String Appended) ý nói là phần sau dấu ? vẫn được thêm vào và giữ nguyên.
    2. Không cần query string

    Giả dụ bạn muốn /index.php?act=view&cid=8&id=123 tự động thay bằng /view/8/123/ chẳng hạn (theo thí dụ của bạn), thì ta dùng .htaccess như sau:
    Mã lệnh
    RewriteEngine on
    RewriteRule ^view/([0-9]+)/([0-9]+)/$ /index.php?act=view&cid=$1&id=$2
    Giải thích sơ qua: dòng đầu tiên bật RewriteEngine, dòng thứ 2 có dạng RewriteRule tìm thay-thế, chuỗi tìm của ta là ^view/([0-9]+)/([0-9]+)/$ với dấu ^ cho biết là vị trí đầu tiên, $ là vị trí cuối, ([0-9]+) là một chuỗi chỉ gồm các kí tự 0 đến 9 (hay nói cách khác, là 1 con số). Trong phần thay-thế cũng không có gì đặc biệt, ngoại trừ $1 và $2 là các giá trị tìm thấy ứng với 2 cặp ngoặc ([0-9]+) trong chuỗi tìm.
    Tương tự, bạn có thể thêm các RewriteRule khác theo ý thích.
    alt+F4, 32767, sunboy4 người khác thích bài này.
  2. Offline

    minhkhanhvhit

    • Thành Viên Mới

    Số bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    0
    Cái này cũng hay đó nhỉ .
  3. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Rất hay là đằng khác. :D
  4. Offline

    web99

    • Thành Viên Mới

    Số bài viết:
    0
    Đã được thích:
    0
    Điểm thành tích:
    0
    Việc sử dụng Rewrite rất hữu ích cho SEO.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí