>我有一个用于在网站上搜索的表单。
<form method="get" action="example.com/search">
<input type="text" name="search"/>
<input type="submit"/>
</form>
假设我在提交时搜索了"堆栈",我希望用户被重定向到example.com/search:stack
现在,当提交用户被重定向到:example.com/search?search=stack
我怎样才能实现这一点并在不支持 javascript 的设备上允许它!?
您可以设置搜索页面以将用户从/search?search=stack
重定向到/search:stack
。
.PHP:
if(isset($_GET['search']))
{
$search = $_GET['search'];
header('Location: /search:'.$search);
}
else
// no query handling
你需要重写
URL 才能做到这一点。初学者的 URL 重写
你不能。以您描述的方式提交表单,即使用 GET 方法,将表单的内容编码为查询字符串,该字符串具有以下形式:
?search=stack
请参阅 HTML5 生活标准的第 4.10.22 节或 HTML 4.01 规范的第 17.13.3 节。
更正:对不起,我没有正确理解您的问题。您确实无法更改表单的提交方式,但您可以按照您的建议在之后重定向。阿尔瓦罗·马丁内斯在他的回答中提出了一个实现这一目标的好方法。