【问题标题】:Get arbitrary user-input keywords directly from URL?直接从 URL 获取任意用户输入的关键字?
【发布时间】:2014-06-09 22:26:12
【问题描述】:

我想实现这种类型的即时功能,例如使用 PHP。 (假设我的网站是 www.mywebsite.com

  • 用户在 URL 栏中键入:www.mywebsite.com/banana

  • 然后,mywebsite.com 将关键字“banana”当作输入 查询/参数并在数据库表中查找单词“banana”。

  • 如果找到匹配项,它会检索卡路里的数量 香蕉,并通过 HTML 显示在 www.website.com/banana

  • 如果未找到匹配项,则会在 同一个网页。

这样的事情可以实现吗?还是必须始终从表单中提交关键字,然后网站必须生成 www.website.com/search?q=banana

【问题讨论】:

    标签: html forms url


    【解决方案1】:

    创建一个.htaccess 文件并添加:

    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9]+)$ search.php?q=$1
    

    【讨论】:

      【解决方案2】:

      您无需创建表单并提交其输入即可获取包含参数值的 url。您可以直接自己编写并将它们存储在<a>标签中。例如:<a href="http://google.com?q=Hello world">

      上面的例子相当于用GET方法创建一个表单并在name="q"的输入中写入hello world

      为避免参数出现在/?q= 之后,您可以使用创建一个 .htaccess 文件将链接转换为:
      example.com/hellow-worldexample.com/index.php?name=hello-world

      .htaccess 文件内容如下所示:

      RewriteEngine On
      RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1
      

      【讨论】:

      • 谢谢,我不知道您可以使用这样的自定义规则进行翻译。也许我什至可以用这个做空白翻译? (即,如果用户输入“香蕉冰沙”,我会让它自动重写为“香蕉冰沙”或类似的东西,以确保安全。)
      • 是的,看这个问题有代码stackoverflow.com/questions/12803187/…@boardbite
      猜你喜欢
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 2018-01-21
      • 2022-12-05
      • 1970-01-01
      相关资源
      最近更新 更多