Javascript 搜索框将值传递到url,但不带=?符号

Javascript 搜索框将值传递到url,但不带=?符号,javascript,php,html,forms,search,Javascript,Php,Html,Forms,Search,我有一个网站,目前,只需在/search/之后在url中键入一个值即可进行搜索 例如,要搜索单词hello,我只需使用url:www.mywebsite.com/search/hello 所以我现在想创建一个非常简单的搜索框来进行这样的搜索,但我不想有=?插入到我的url中 例如,目前我有代码 <form action="http://www.mywebsite.com/search/" method="get"><input class="nice_search" type=

我有一个网站,目前,只需在/search/之后在url中键入一个值即可进行搜索 例如,要搜索单词hello,我只需使用url:www.mywebsite.com/search/hello

所以我现在想创建一个非常简单的搜索框来进行这样的搜索,但我不想有=?插入到我的url中

例如,目前我有代码

<form action="http://www.mywebsite.com/search/" method="get"><input class="nice_search" type="text" name="q" placeholder="Search...">
 <input class="nice_submit" type="submit" value="SEARCH"></form>


但这会产生类似于我只想要的URL,你可以使用javascript/jquery做你想做的事情。只需在表单上添加submit事件,并防止默认设置。在这种情况下,您将获得搜索值并将用户发送到新页面search/hello。如果你需要帮助,请告诉我格雷特从代码开始

注意添加的id=“searchForm”


mod_rewite是比客户端更好的方法:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*&)?q=([^&]+)(&.*)?$ [NC]
RewriteRule ^search/$ /%2? [R=301,L]
如果您想测试,可选择:

RewriteEngine On
RewriteRule ^search/([^/]*)$ /search?q=$1 [L]

谢谢你的回复。你能给我一个代码的例子吗?我更新了,让我知道它是否有效。。。我用return-false代替了prevent-default..它可以工作!如何删除警报?哈哈。。。也许把它拿走haha@Medda86不,我在想搜索URL值应该是URL编码的或者别的什么。有些字符不应该放在URL中,比如用户可以在搜索框中输入的符号:它几乎可以工作。现在它提供了一个url mywebsite.com/hello——在发布之前它没有添加/search/query@mrbillyboy那么
重写规则^search/$%2怎么样?[R=301,L]
请注意,删除的
/
仍不起作用。不过谢谢你的帮助-我想我更喜欢js解决方案,因为该网站已经有了复杂的重写规则。直到禁用js的用户出现。。。
Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*&)?q=([^&]+)(&.*)?$ [NC]
RewriteRule ^search/$ /%2? [R=301,L]
RewriteEngine On
RewriteRule ^search/([^/]*)$ /search?q=$1 [L]