表单提交后更改URL

时间:2017-08-31 13:59:39

标签: javascript html forms .htaccess

我有一个带有搜索字段的表单如下:

<!-- language: lang-html -->

    <form name="form"  method="post" action="" onsubmit="return false;">
    <input name="q" type="search" placeholder="Type here please" autofocus />
    <input name="Submit" value="Search" class="searchbutton" type="submit" onclick="window.location.href=this.form.action + this.form.q.value;">
    </form>

它工作正常,但我希望有一个更友好的URL。 当用户输入搜索字符串时,例如&#39;某些内容&#39;,URL如下所示: http://example.com/somefolder/?q=something。 我希望网址看起来像http://example.com/somefolder/something

知道我应该怎么做吗?

我已经在使用htaccess,它允许用户输入友好的URL,但它不会在地址栏中永久保留SEO友好URL。

我的htaccess看起来如下:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/(.+)$ /$1?q=$2 [QSA]

此htaccess条目工作正常,但它会更新浏览器的地址字段。 所以我现在想要它实际上是工作的第二部分。我想阻止浏览器将URL更新为原始URL。 htaccess只重写用户输入到原始URL的URL,因为只有这个URL对服务器是可理解的。 htaccess不会永久更改网址。

如果我使用以下形式:

<form class="searchbox" name="form" method="get">
<input class="searchbox" name="q" type="text" placeholder="Type here please" autofocus>
<input name="Submit" value="Search" class="searchbutton" type="submit">
</form>

输出为http://example.com/somefolder/?q=something&Submit=Search。现在我只想摆脱?q=

0 个答案:

没有答案