Tôi có trang web CodeIgniter chỉ định người dùng UUID khi trang đích được truy cập. Tải lại trang đích sẽ gán UUID mới, nhưng khi bạn bắt đầu tiến hành thông qua các biểu mẫu, UUID của bạn vẫn giữ nguyên. Tuy nhiên, có điều gì đó đang xảy ra Tôi không hoàn toàn hiểu khi nào người dùng nhấn nút quay lại và hành vi khác nhau tùy thuộc vào URL họ đến?Nút quay lại không làm mới trang nếu URL chứa thông số GET hoặc dấu gạch chéo theo sau?
Trường hợp 1: domain.com/somehash?key=value
HOẶC domain.com/somehash/
Nếu bạn đến với url ở trên có chứa một tham số GET, gửi biểu mẫu đầu tiên (trong đó có uuid của bạn), và nhấn nút quay lại, bạn quay lại trang đích nhưng UUID của bạn không thay đổi.
Trường hợp 2: domain.com/somehash
Với không có tham số GET, nếu bạn gửi biểu mẫu đầu tiên (trong đó có uuid của bạn) và nhấn nút quay lại, bạn quay lại trang đích và nhận được một uuid MỚI.
Tôi đã thử nghiệm điều này trong Chrome và Firefox mới nhất, nó có được liên kết với một số loại chiến lược lưu trong bộ nhớ cache mà chúng triển khai không? Lý tưởng nhấn lại sẽ KHÔNG làm mới trang.
EDIT: Tôi nên lưu ý chúng tôi không thể sử dụng cookie cho công cụ này, do đó phiên là ra
Tiếp tục chỉnh sửa: Đơn giản chỉ cần đi domain.com/
, thêm một dấu chéo ngược, dừng UUID từ làm mới khi nhấn nút quay lại. Có thể liên quan đến CodeIgniter routes.php hoặc .htaccess?
mục .htaccess liên quan:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
Routes.php:
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['(:any)'] = 'home/index/$1';
sử dụng phiên() – Vector
Bạn chỉ định UUID, php hoặc JS ở đâu? – Justin
PHP, được tạo trong Bộ điều khiển trước khi được chuyển đến Chế độ xem trong CI. – xref