10/10/2018, 10:44

Bị lỗi khi rewire đường dẫn

Xin anh chị em.

Mình đang làm thử rewrite url thi bi loi nhu sau:

RewriteRule ^([a-zA-Z0-9_-]*).html$ index.php?title=$1
RewriteRule ^([a-zA-Z0-9_-]*)_([0-9]*).html$ index.php?title=$1&page=$2

Khi minh viết htacces nhu vay thi khi qua trang 2 không chay được.

nếu mình bỏ dấu ^ trước chổ rewrite thì chạy được nhưng đường dẫn lại bị lập lại.

Minh không biết bị lỗi gì nữa. Minh dùng phương thức $_GET để lấy giá trị của biến page.

Ai biết xin chỉ mình với, mình mới làm lần đầu nên không biết cách sửa.

Cám ơn vì giúp đỡ.
Trịnh Ngọc Lan viết 12:47 ngày 10/10/2018
Bạn dùng code nào thế ?
quanghien2005k viết 12:49 ngày 10/10/2018
Mình viết bằng ngôn ngữ php + xampp
thuyduongcd viết 12:57 ngày 10/10/2018
Viết như vậy quả thật là không ổn.
Ví dụ nếu có 1 cái link: http://domain.name/abc_2.html
Làm thế nào phân biệt đây là:
title=abc_2
hay title=abc và page=2
quanghien2005k viết 12:54 ngày 10/10/2018
Do title mình tạo alias nên mình mới viết như vậy.
Nếu làm kiểu http://domain.name/abc/2.html thì nhìn không được đẹp
guidingstar viết 12:56 ngày 10/10/2018
Vì dòng 2 là trường hợp con của dòng 1 nên bạn phải cho nó lên trên. Như cái hiện tại của bạn thì k bao giờ dòng 2 được mó đến cả. Đơn giản là đổi lại thứ tự:
RewriteRule ^([a-zA-Z0-9_-]*)_([0-9]*)\.html$ index.php?title=$1&page=$2
RewriteRule ^([a-zA-Z0-9_-]*)\.html$ index.php?title=$1
thuyduongcd viết 12:45 ngày 10/10/2018
Vấn đề không chỉ là thứ tự mà vấn đề ở cách thiết kế.
Nếu đổi lên trên như vậy thì Tất cả những bài viết có tiêu đề kết thúc bằng số sẽ bị hiểu nhầm
Cần phải định nghĩa lại cấu trúc title và page cho rạch ròi để không bị lẫn lộn thì mới rewrite được
Bài liên quan
0