这有效:
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>
- Result: http://example.com/search?q=querystring http://example.com/search?q=querystring
- 期望的结果:http://example.com/search/querystring http://example.com/search/querystring
这可以通过 htaccess 实现吗?还是我需要从 search.php 中使用 PHP 进行重定向?
期望的行动结果示例:http://twitter.com/search/hello http://twitter.com/search/hello
EDIT
我不喜欢依赖 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)