我有一个带有搜索字段的表单如下:
<!-- 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=
。