ví dụ. Tôi có trang với URL //mysite.com?page=3&var=10
cũng có biểu mẫu trên trang.
Khi biểu mẫu được gửi ở đó một số hành động trong PHP nhưng tôi cần xóa ?page=3&var=10
này sau khi biểu mẫu được gửi bằng cách nào đó có cách tương thích với tất cả các trình duyệt php không có mod_rewrite không?
hỏi ngày 28 tháng 9 năm 2011 lúc 19:10Sep 28, 2011 at 19:10
3
Đây là một chủ đề cũ, nhưng chỉ trong trường hợp bất kỳ ai khác đang tìm kiếm điều này trong tương lai, bạn có thể sử dụng JavaScript thay thế để thay đổi nhãn Lịch sử và Trình duyệt thanh thanh. Một chức năng PHP đơn giản để làm điều này:
function set_url[ $url ]
{
echo["history.replaceState[{},'','$url'];"];
}
Sau đó, chỉ cần gọi chức năng này với URL mong muốn [có lẽ là bỏ các biến bài viết]:
set_url["//example.com"];
Một trang tải lại hoặc quay lại sau khi gọi một trang khác bây giờ sẽ có vị trí URL mới trong lịch sử.
Tôi nghĩ rằng sử dụng bài có thể là một giải pháp thanh lịch hơn, nhưng nếu bạn phải sử dụng thì đây là một công việc xung quanh.
Đã trả lời ngày 11 tháng 2 năm 2018 lúc 12:14Feb 11, 2018 at 12:14
DBIG lớn dBig D
811 Huy hiệu bạc5 Huy hiệu đồng1 silver badge5 bronze badges
Nếu bạn đang sử dụng action=index.php
, thì tất cả các giá trị sẽ được đăng lên chỉ mục PHP, ?page=3&var=10
sẽ được tự động xóa.
Nếu bạn muốn đăng lên cùng một trang, bạn có thể sử dụng 'action = index.php? Page = 3 & var = 10' hoặc action=
Bạn có thể kiểm tra ở đầu trang nếu một cái gì đó được gửi và sau đó chuyển hướng đến bất cứ điều gì bạn muốn với
set_url["//example.com"];
0 thêm về chức năng tiêu đề //php.net/manual/en/function.header.phpĐã trả lời ngày 28 tháng 9 năm 2011 lúc 19:14Sep 28, 2011 at 19:14
Tural Alitural AliTural Ali
21.2K18 Huy hiệu vàng74 Huy hiệu bạc129 Huy hiệu đồng18 gold badges74 silver badges129 bronze badges
1
Vâng, giải pháp khá đơn giản [ngay cả khi không thực sự thân thiện với SEO]:
Chỉ để biết thông tin ... tại sao bạn cần nó?
Đã trả lời ngày 28 tháng 9 năm 2011 lúc 19:13Sep 28, 2011 at 19:13
ArtoaleartoaleArtoAle
2.9291 Huy hiệu vàng24 Huy hiệu bạc48 Huy hiệu đồng1 gold badge24 silver badges48 bronze badges
4
Sử dụng
set_url["//example.com"];
1 để lấy chuỗi truy vấn như một mảng kết hợp dễ sửa đổi. Sau đó sử dụng set_url["//example.com"];
2 để chuyển đổi mảng kết hợp thành chuỗi truy vấn.$queryString = $s['QUERY_STRING'];
$params = array[];
parse_str[$queryString, $params];
//change $params as needed
$queryString = http_build_query[$params];
if [$queryString] {
$queryString = '?'.$queryString;
}
return preg_replace["/\\?.*/s","",$s['REQUEST_URI']].$queryString;
set_url["//example.com"];
3 Xóa chuỗi truy vấn ban đầu cho phép bạn thay thế nó.Đã trả lời ngày 19 tháng 1 năm 2016 lúc 23:04Jan 19, 2016 at 23:04
user3338098user3338098user3338098
9161 Huy hiệu vàng17 Huy hiệu bạc36 Huy hiệu đồng1 gold badge17 silver badges36 bronze badges
công việc này là dành cho bạn?
header['Location:/'];
Đã trả lời ngày 28 tháng 9 năm 2011 lúc 19:13Sep 28, 2011 at 19:13
ArtoaleartoaleRene Pot
2.9291 Huy hiệu vàng24 Huy hiệu bạc48 Huy hiệu đồng7 gold badges67 silver badges90 bronze badges
Sử dụng
set_url["//example.com"];
1 để lấy chuỗi truy vấn như một mảng kết hợp dễ sửa đổi. Sau đó sử dụng set_url["//example.com"];
2 để chuyển đổi mảng kết hợp thành chuỗi truy vấn.set_url["//example.com"];
3 Xóa chuỗi truy vấn ban đầu cho phép bạn thay thế nó.Đã trả lời ngày 28 tháng 9 năm 2011 lúc 19:14Sep 28, 2011 at 19:14
Tural Alitural AliMarc B
21.2K18 Huy hiệu vàng74 Huy hiệu bạc129 Huy hiệu đồng42 gold badges403 silver badges487 bronze badges