在不使用 javascript 的情况下更改表单的提交方式

change the way the form is submitted without using javascript

我有一个用于在网站上进行搜索的表单。

<form method="get" action="example.com/search">
<input type="text" name="search"/>
<input type="submit"/>
</form>

假设我在提交时搜索了 "stack" 我希望用户被重定向到 example.com/search:stack 现在提交用户被重定向到:example.com/search?search=stack

如何在不支持 javascript 的设备上实现并允许它!?

你不能。以您描述的方式提交表单,即使用 GET 方法,将表单的内容编码为查询字符串,其格式如下:

?search=stack

参见 HTML5 Living Standard or section 17.13.3 of the HTML 4.01 Specification 的第 4.10.22 节。

更正:对不起,我没有正确理解你的问题。您确实无法更改表单的提交方式,但您可以按照您的建议进行重定向。 Álvaro Martínez 在 .

中提出了实现该目标的好方法

您需要 Url rewriting 才能做到这一点。 URL Rewriting for Beginners

您可以设置搜索页面以将您的用户从 /search?search=stack 重定向到 /search:stack

PHP:

if(isset($_GET['search']))
{
    $search = $_GET['search'];
    header('Location: /search:'.$search);
}
else
    // no query handling