清除搜索查询的网址?

DAD*_*ADU 6 php .htaccess search clean-urls

这有效:

HTML

<a href="/search/querystring">query</a>
Run Code Online (Sandbox Code Playgroud)

htaccess的

RewriteRule ^search/([-0-9a-z]+)$ /search.php?q=$1 [L]
Run Code Online (Sandbox Code Playgroud)

浏览搜索表单:

<form method="get" action="/search">
<input type="search" name="q" value="querystring" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是否可以使用htaccess或者我是否需要在search.php中使用PHP重定向?

示例所需的结果:http://twitter.com/search/hello

编辑

我不喜欢依赖JavaScript来执行此操作,因此搜索引擎和禁用JavaScript的人也会看到这一点.

Imi*_*bas 7

我认为问题在于您使用GET方法创建了一个HTML表单,该表单会以您指定的结果自动打开URL.如果你想提交你想要的搜索查询,你应该使用一些JavaScript破解表单来调用你看起来很漂亮的URL,如下所示:

<form method="get" action="/search/" onsubmit="return false;">
<input type="search" name="q" value="querystring" />
<input type="submit" onclick="window.location.href=this.form.action + this.form.q.value;" />
</form>
Run Code Online (Sandbox Code Playgroud)