【问题标题】:Search bar in HTMLHTML 中的搜索栏
【发布时间】:2017-08-13 19:16:40
【问题描述】:

我有一个搜索表单,它会重定向到结果。如果该页面不存在,我想显示 404 错误。我该怎么做?

我的代码

<center>
    <input name="txtSearch" maxlength="12" size="25" type="text" class="field" id="txtSearch" />
    <div>&nbsp;</div>

    <div class="button" style="display:inline-block">
        <a  onclick='window.location.href="" + document.getElementById("txtSearch").value;'>
            Submit
        </a>
    </div>
</center>

【问题讨论】:

  • 你用的是什么框架?
  • 我不是。使用。我还只有扎实的背景。
  • stackoverflow.com/questions/14421303/… 这是一个比较最近匹配字符串的解决方案,您可以为您拥有的文件创建一个名称数组并循环遍历它。
  • @3gth 谢谢。现在,如何将所有错误的搜索重定向到一个页面?例如 www.domain.com/inexistentpage 我希望它自动重定向到 www.domain.com/404 ?

标签: html css redirect search


【解决方案1】:

首先,您的想法和对搜索的理解可能存在一些错误。正如您的帖子和代码所示,您只允许用户搜索特定内容。纠正我,如果我错了并且您的代码以其他方式运行,但是..

想象一下:一个来自肯尼亚的 10 岁男孩最终访问了您的网站 - 他应该如何知道您的网站包含哪些内容?或者如果他这样做了,他将如何尝试找到它?是的,他使用搜索。

他得到的第一个命中是 404,因为他搜索了不存在的内容,并且不知道您的网站只允许搜索存在的特定内容。他离开了您的网站,却找不到他想要的内容。

这不是搜索的功能。搜索应该允许您搜索所有内容,显示所有可能结果的列表,如果没有找到则显示礼貌错误 - 肯定不会立即重定向到特定页面 - 相反,所有搜索的通用页面,或者如果说提供 404超特定页面不存在。

我建议您查看Algolia 或其他类似产品以方便搜索。

要解决您的问题,但是...

  1. 按钮 div 的类声明中缺少引号。将编辑 Q 以解决该问题。
  2. 你真的,真的需要使用缩进。它将使您的代码更易于阅读,并更好地吸引其他人来帮助您。也会对其进行编辑。
  3. 您需要的是项目根目录中的 .htaccess 文件,其中至少包含定义的 404 页面。像这样,经过编辑,以适合您的 404 错误页面路径和名称。您将像任何其他页面一样设计和开发您的 404 页面。此悬停在您丢失的所有页面上,因此请适当地设计和构建其内容(看看为什么搜索结果页面更好,现在?)。

    ErrorDocument 404 /404.html

  4. 如果您碰巧使用 nginx 而不是 apache,请在您的服务器配置中执行此操作:

    error_page 404 /404.html;

  5. 或者,您可以围绕搜索构建一个表单,并将查询字符串(这是用户搜索的字符串的一个花哨的词)发送到您的某个 PHP 脚本,这可以确定是否有结果显示或不显示并显示适当的内容 - 同样,这也可以使用 Algolia 或类似工具完成 - 只需解析并以适当的形式提供您的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 1970-01-01
    相关资源
    最近更新 更多