我在WordPress的搜索功能中有奇怪的行为。我在this网站上搜索时遇到了问题。当我用拉丁字母(Stefan Kosanović)搜索时,它是完美的,但当我用西里尔字母(СтефанКосановић)搜索时,它总是把我转到主页上。在本地,一切工作正常,本地版本和实时版本是1:1,所以在文件中没有区别。PHP和WP的版本也是一样的。
据我所知,如果你用西里尔字母搜索,URL不会传递URL decode.So例如,空格不会被+符号替换,等等。
有没有可能主机设置限制了某些功能?
发布于 2020-12-29 01:08:35
如果将该url复制并粘贴到IDE,您将看到类似以下内容
https://fakenews.rs/?s=%D0%A1%D1%82%D0%B5%D1%84%D0%B0%D0%BD%20%D0%9A%D0%BE%D1%81%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%9B"将其粘贴到urldecode
echo urldecode ( "https://fakenews.rs/?s=%D0%A1%D1%82%D0%B5%D1%84%D0%B0%D0%BD%20%D0%9A%D0%BE%D1%81%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%9B" );您将看到:https://fakenews.rs/?s=Стефан Косановић,这是url的预期输出。要解决这个问题,您可以尝试解码url并将其作为字符串粘贴到搜索查询中,或者尝试将字母转换为拉丁文并粘贴到查询中。
https://stackoverflow.com/questions/65479448
复制相似问题