我有一个XPage,它以URL参数的形式将信息传递给另一个XPage(这很重要,因为SEO)。我可以使用:java.net.URLEncoder.encode
对URL进行编码,然后我可以在参数值中使用&符号,我只能使用param.get()
来获取值而不解码它们。这样可以正常工作,但是当我将它与服务器端替换相结合时,它不能按预期工作,它会将&符号恢复为正常的&符号而不是%26。任何想法都会在这里真的很感激吗?由于SEO,服务器端替换也很重要。
更新
这是地址栏中显示的提交前的URL(如果我们假设我的类别是Fruit& Vegetables):
/product-byCategory/Fruit+%26+Vegetables
服务器端替换规则是:
- /product-byCategory/*
- /mywebsite.nsf/xspProductByCat.xsp?cat=*
查询字符串值为:
cat=Fruit+&+Vegetables
有趣的是,如果我在地址栏中输入此URL,我会得到正确的查询字符串:
http://www.mywebsite.com/mywebsite.nsf/xspProductByCat.xsp?cat=Fruit+%26+Vegetables
答案 0 :(得分:0)
我遇到了同样的问题,但我搜索(并找到)了一个不同的解决方案。我不需要替换,我不使用QueryString,谷歌显然不介意。
我使用这种类型的网址:
http://www.mywebsite.com/mywebsite.nsf/xspProductByCat.xsp/Fruit+%26+Vegetable
我通过
获取扩展信息,而不是QueryString var name= facesContext.getExternalContext().getRequestPathInfo();
以这种方式创建的网站页面由Google和Bing正确编入索引。我们对页面排名并不完全满意,但这是一个不同的主题。
的示例