有什么方法可以删除 %5B%5D 以使 URL “漂亮”,例如 htaccess?
不。[]
是 URL 中的保留字符,因此它们肯定需要进行URL 编码。
如果使用 POST 不是一个选项,考虑到它是一个搜索表单,这是有道理的,你最好的选择是给它们每个不同的名称,值为 1 左右。
<form>
<input type="checkbox" name="option1" value="1" />
<input type="checkbox" name="option2" value="1" />
</form>
[]
或者,如果您真的坚持它们具有相同的名称,那么您应该自己提取查询字符串,而不是在获取名称中带有后缀的参数时依赖于返回数组的 PHP 特定功能。
$params = explode('&', $_SERVER['QUERY_STRING']);
foreach ($params as $param) {
$name_value = explode('=', $param);
$name = $name_value[0];
$value = $name_value[1];
// ... Collect them yourself.
}
这样您就可以继续使用无括号的名称。
<form>
<input type="checkbox" name="option" value="option1" />
<input type="checkbox" name="option" value="option2" />
</form>