php - 搜索查询的干净 URL?

标签 php .htaccess search clean-urls

这个有效:

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/

相关文章:

java - StandardTokenizer 行为

php - Magento 跳过结帐页面上的送货方式

php - 实用程序文件在 php 中?

php - 在 PHP 的 json_encode 截断之前转义 JSON 撇号?

apache - .htaccess 中的多个 mod_rewrite 规则

javascript - Apache Mod 过期了,如何调试?

java - 在数据库中搜索名称并删除条目

php - Paypal Digital Goods 真实账户

php - .htaccess 从 URL 中删除文件扩展名和变量

java - 迭代查找 AVL 树中的节点