我在我的页面中搜索过,如下所示:
<a href=/search/./1>First page</a>
所以,mypage.com/search/./1
- 我正在搜索.
发生的事情是,.
正在网址中消失。
将鼠标放在代码段中的链接上以查看问题。
造成这种情况的原因是什么?
如果用户搜索.
?
答案 0 :(得分:1)
发生这种情况,因为在文件系统中.
字符代表当前文件夹,所以
mypage.com/search/.
== mypage.com/search/
浏览器知道这一点,他们会自动删除点。
如果我理解得很好,你想让你的搜索SEO友好。
您可以这样做:
Base64对点进行编码,并在其前面添加一些自定义字符,这些字符可以告诉您的搜索代码这是base64编码。
如果你有定期搜索(没有点,但有一些有意义的表达),你可以保持原样。
例如:
有意义的表达: 某些产品
<a href="mysite.com/search/some%20product/1"`>First page</a>
some%20product
是某些产品的urlencoded版本。
建议对您的搜索表达式进行urlencode,以使其更安全(因此适用于任何浏览器/服务器)。
<强>点:强>
<a href="mysite.com/search/B64E|Lg==/1">First page</a>
其中:
Lg==
是base64编码的.
对于base64编码的东西,你不要对任何东西进行urlencode。
在搜索代码中,您可以检查参数中是否存在B64E|
,如果存在,则将参数拆分为|
,base64解码拆分结果的第二个元素。