Hỏi về rewrite url

Discussion in 'Hỏi Đáp Kỹ Thuật' started by lqhoang1910, Jan 21, 2020.

  1. lqhoang1910

    lqhoang1910 Tân Thủ Thôn

    Chào các bác, e đang vướng xíu chỗ rewrite url bằng htaccess. Mong các bác chỉ giáo giúp

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^page/(.*)$ page.php?page=$1 [L]

    Với nội dung trên thì sẽ chuyển domain.com/page/$p -> domain.com/page.php?page=$p <- cái này chạy ok
    Tiếp theo e muốn ở link này domain.com/video/video.php?id=$id&v=$title -> domain.com/video/$id/$title hoặc domain.com/video/$title (ẩn id trên address bar), e thêm như này thì nó ko chạy đc

    RewriteBase /video/
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ video.php?id=$1&v=$2

    Cũng thử vài kiểu rewrite khác rồi mà nó ko chạy các bác ạ. Ko biết có xung đột gì với khúc rewrite trên kia ko, hoặc sai chỗ nào mong các bác chỉ giáo. Đội ơn các bác
     
  2. lqhoang1910

    lqhoang1910 Tân Thủ Thôn

    E tự xử đc rồi ạ. Mod nào ghé ngang xóa bài giúp e với
     
  3. wpresources

    wpresources Bang Chúng

    Cái này không quá đặc biệt nhưng cũng chả dễ.bạn có thể chia sẻ đáp án cho ai đó đến sau sẽ hay hơn là xóa thread
     
  4. lqhoang1910

    lqhoang1910 Tân Thủ Thôn

    Cái này đơn giản sửa thành
    RewriteRule ^video/(.*)/(.*)$ video/video.php?id=$1&v=$2
    là đc bác ạ
    Còn 1 cái nữa e thắc mắc là ví dụ muốn chuyển domain.com/video/video.php?id=$id&v=$title -> domain.com/video/$title thì rewrite như thế này có đúng ko
    RewriteRule ^video/(.*)$ video/video.php?id=$1&v=$2 và làm sao dùng $_GET hoặc $_SERVER['REQUEST_URI'] để lấy được tham số $id đã truyền vào -> querry lấy ra post theo $id nhỉ
     
  5. wpresources

    wpresources Bang Chúng

    Chịu mình chưa tìm hiểu cái này bao giờ {smile}
     
  6. tearofboy

    tearofboy Tân Thủ Thôn

    Về cơ bản thì cách của bác ko chạy. Vì regex đấy chỉ có 1 match, trong khi output cần 2 đối số
    Cái này bác phải xử lý bằng code, mỗi video bác thêm 1 trường là friendlyUrl, rồi lưu vào db, đặt index + unique cho column đó.
     
  7. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Quá chuẩn.
     
  8. lqhoang1910

    lqhoang1910 Tân Thủ Thôn

    Vâng bác, e cũng đang nghĩ tới phương án này {band}