这个有效:
HTML
<a href="/search/querystring">query</a>
htaccess
RewriteRule ^search/([-0-9a-z]+)$ /search.php?q=$1 [L]
通过搜索表单:
<form method="get" action="/search">
<input type="search" name="q" value="querystring" />
<input type="submit" />
</form>
这是否可以通过 htaccess 实现,或者我是否需要从 search.php 中使用 PHP 重定向?
示例期望的行动结果:http://twitter.com/search/hello
编辑
我不想依赖 JavaScript 来执行此操作,这样搜索引擎和禁用 JavaScript 的人也会看到这一点。
最佳答案
我认为问题在于您使用 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>
关于php - 搜索查询的干净 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464481/