searchTerms中的正斜杠在opensearch.xml中中断搜索网址

问题描述 投票:-1回答:1

我的opensearch XML看起来如下所示。

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
  xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>my site short name</ShortName>
  <Description>My search description</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">
    https://somesite.com/images/icons/favicon-16x16.png
  </Image>
  <Url type="text/html" method="get"
    template="https://somesite.com/search/{searchTerms}/page/1"></Url>
</OpenSearchDescription>

我在这里面临的问题是,如果关键字类似于'this/that',则提交到我网站的网址变为

https://somesite.com/search/this/that/page/1

但searchTerms应该被url编码为类似的东西,

https://somesite.com/search/this%2fthat/page/1

由于URL现在具有搜索键的额外正斜杠,因此我的应用程序的搜索URL被破坏。

对于我的申请,接受搜索参数不是一种选择。这会违反与关键字搜索类似的其他页面的一致性。

有没有办法在opensearch.xml本身处理这个问题?

html web urlencode opensearch opensearchdescription
1个回答
0
投票

根据opensearch specification

The "searchTerms" parameter

替换为搜索客户端所需的关键字或关键字。

限制:该值必须是URL编码的。

目前,我针对Chromium项目提出了this bug来解决这个问题,因为看起来chrome似乎没有对搜索参数进行编码。

© www.soinside.com 2019 - 2024. All rights reserved.