Tôi đang sử dụng Codeigniter 3.x, Sử dụng routes.php Tôi muốn tạo các tuyến động, ví dụ tôi có tên lớp Class1
.Sử dụng dấu gạch nối (-) thay vì dấu gạch chéo (/) hoặc dấu gạch dưới (_) trong Tuyến đường
Tôi muốn đầu ra url
mysite.com/Class1-Student-Search
Nhưng sử dụng dấu gạch ngang (-) không được làm việc
Nếu tôi đặt một dấu gạch chéo (/), nó hoạt động,
$route['(:any)/Student-Search'] = "search";
nó trả
mysite.com/Class1/Student-Search
và sử dụng dấu gạch dưới (_) cũng làm việc.
$route['(:any)_Student-Search'] = "search";
lợi nhuận
mysite.com/Class1_Student-Search
Nhưng tôi muốn sử dụng dấu gạch ngang (-), nếu tôi đặt nó, nó sẽ đi đến lỗi 404 trang, tôi đã sử dụng bốn giải pháp này nhưng không làm việc cho tôi.
$route['(:any)-Student-Search'] = "search";
$route['([a-zA-Z]+)-Student-Search'] = "search";
$route['([a-zA-Z-0-9]+)-Student-Search'] = "search";
$route['(.*)-Student-Search'] = "search";
Và nếu tôi hardcode các giá trị trong đường
$route['Class1-Student-Search'] = "search";
Sau đó, nó cũng làm việc
Bạn đã đặt '$ route ['translate_uri_dashes'];' thành 'TRUE' ?? – Saty
vâng tôi đặt nó @Saty –
Đó là một cụm từ thông dụng. Cố gắng thoát chúng: '\\ - Student \\ - Tìm kiếm ' –